From: Gert Wollny Date: Tue, 10 Nov 2020 14:08:59 +0000 (+0100) Subject: Import dcmtk_3.6.5-1.debian.tar.xz X-Git-Tag: archive/raspbian/3.6.8-6+rpi1~1^2^2~5^2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=0f5840be2c6ba7fba6d41db6a215a8aac8716110;p=dcmtk.git Import dcmtk_3.6.5-1.debian.tar.xz [dgit import tarball dcmtk 3.6.5-1 dcmtk_3.6.5-1.debian.tar.xz] --- 0f5840be2c6ba7fba6d41db6a215a8aac8716110 diff --git a/.directory b/.directory new file mode 100644 index 00000000..8fa2f8fd --- /dev/null +++ b/.directory @@ -0,0 +1,2 @@ +[URL properties] +ViewMode=fsview_part diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..fd0f53dc --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,15 @@ +image: debian:sid + +build: + stage: build + before_script: + - apt-get update && apt-get -y install devscripts git-buildpackage + - mk-build-deps --tool "apt -y -o Debug::pkgProblemResolver=yes --no-install-recommends" --install -r debian/control + script: + - git checkout pristine-tar + - git pull + - git checkout master + - git pull + # silence build to not exceed build log size of gitlab-ci + - gbp buildpackage -uc -us 2>&1 >../build.log && exit 0 || tail -n 100 ../build.log && exit -1 + diff --git a/NEWS b/NEWS new file mode 100644 index 00000000..3e38121a --- /dev/null +++ b/NEWS @@ -0,0 +1,22 @@ +dcmtk (3.6.1~20150924-1) UNRELEASED: urgency=medium + + With this new snapshot upstream removed the wwwapps tools and + perl scripts that were developed for the CAR 1996 modality showcase, and + that are largely unused and unsupported. + +dcmtk (3.6.1~20150629-2) UNRELEASED; urgency=medium + + Version 3.6.1 has compatible change of the index.dat format that is not + backward compatible, and the current dcmtk is trashing the memory (one + byte of) when using dcmqrscp. All files in + + /var/lib/dcmtk/*/index.dat + + that are create with version 3.6.0 or before will be corrupted and + users need to reconstruct the db. + + The interested user might like to inspect the upstream commit + + http://git.dcmtk.org/web?p=dcmtk.git;a=commitdiff;h=c8423ab1fcf0273061462697b8eca56f894984c7 + + -- Andreas Tille Thu, 08 Oct 2015 13:06:03 +0200 diff --git a/changelog b/changelog new file mode 100644 index 00000000..415388b5 --- /dev/null +++ b/changelog @@ -0,0 +1,723 @@ +dcmtk (3.6.5-1) unstable; urgency=medium + + * debian/control: switch to comat level 10 + * d/rules: don't install libcharls.so Closes: #971433 + Closes: #971412 + * d/control: cme fix dpkg + * d/compat: remove obsolete file + + -- Gert Wollny Tue, 10 Nov 2020 15:08:59 +0100 + +dcmtk (3.6.5-1~exp1) experimental; urgency=medium + + [ Andreas Tille ] + * Remove myself as Uploader + + [ Gert Wollny ] + * New upstream version 3.6.5 + * d/p: Update patches and remove 08 (applied upstream) + * Update SO version to 15 + * d/copyright: all-over year and new files + + -- Gert Wollny Fri, 20 Dec 2019 21:31:03 +0100 + +dcmtk (3.6.4-2.1) unstable; urgency=medium + + * Non-maintainer upload. + * Revert to convenient charls copy for now. Closes: #923433 + + -- Mathieu Malaterre Tue, 28 May 2019 21:39:19 +0200 + +dcmtk (3.6.4-2) unstable; urgency=medium + + * d/rules,d/p/03: Fix DATADIC path, Closes: #913304 + + -- Gert Wollny Sat, 19 Jan 2019 10:36:10 +0100 + +dcmtk (3.6.4-1) unstable; urgency=medium + + * d/p/09: Fix build with CharLS 2.0 + * Upload to unstable + + -- Gert Wollny Sat, 12 Jan 2019 16:10:06 +0100 + +dcmtk (3.6.4-1~exp1) experimental; urgency=medium + + [ Jelmer Vernooij ] + * Move source package lintian overrides to debian/source. + * Trim trailing whitespace. + + [ Gert Wollny ] + * New upstream version 3.6.4 + * d/p: Update patches for new release and remove old patches + * d/control: Update lib package name + * d/rules: Change dict install directory to new lib name + * d/dcmtk.postinst: Disable running chown recursively + * d/copyright: Add new libcmr files with non-OFFICE copyright + + -- Gert Wollny Sun, 23 Dec 2018 10:43:41 +0100 + +dcmtk (3.6.3-1~exp1) experimental; urgency=medium + + * d/* correct by running 'git fix dpkg' + * d/watch: update link (thanks Pedro Fernando Arizpe Gómez) + * New upstream version 3.6.3 + * d/patches: Update patches to apply to new version + * d/ .gitlab-ci.yml: Add this CI file + * p/d/03: Set DATDIC in CMakeLists.txt + * d/ Update SO version to 13 + * d/p/03: Correct install path + * d/copyright: Update for added and moved files + + -- Gert Wollny Sat, 11 Aug 2018 09:35:25 +0200 + +dcmtk (3.6.2-3) unstable; urgency=medium + + * d/control: Remove Juergen Salk from uploaders, Closes: #846787 + * d/p/08: set CANONICAL_HOST_TYPE from cmake, Closes: #859203 + * d/p/09: Fix format errors, Closes: #865418 + * d/p/10:Add fix for possible string overflow + + -- Gert Wollny Wed, 06 Sep 2017 10:09:08 +0000 + +dcmtk (3.6.2-2) unstable; urgency=medium + + * d/rules: install examples in arch-indep build to fix -A build + + -- Gert Wollny Tue, 22 Aug 2017 12:46:09 +0000 + +dcmtk (3.6.2-1) unstable; urgency=medium + + * Upload to unstable + * d/control: Standards version 4.1.0 (no changes needed) + + -- Gert Wollny Tue, 22 Aug 2017 10:05:31 +0000 + +dcmtk (3.6.2-1~exp1) experimental; urgency=medium + + * Update d/watch + * New upstream version 3.6.2 Closes: #868867 + * d/p/* refresh patches + * drop d/p/09_ because it was applied upstream + * s/* update SO version + * d/copyright: add new files to copyright + * d/rules: drop more test programs and add manpage for msgserv + * d/rules enable use of C++11 features + * d/control: Add build dependency on help2man + + -- Gert Wollny Wed, 02 Aug 2017 13:48:47 +0000 + +dcmtk (3.6.1~20170228-2) unstable; urgency=medium + + * d/p/09: Improve numerical stability by rounding the time to + the six decimal digits supported by dicom. Closes: #859204 + #865452 + * d/control: Correct dependency on libssl-dev for libdcmtk-dev + * d/control: Update standards version (no action needed) + * d/control: cme fix dpkg-control + + -- Gert Wollny Thu, 22 Jun 2017 07:55:04 +0000 + +dcmtk (3.6.1~20170228-1) unstable; urgency=medium + + * Upload to unstable Closes: #747167 + * d/rules: correctly enabling private tags, Closes: #859201 + * d/rules: enable C++11 build + + -- Gert Wollny Tue, 20 Jun 2017 18:58:39 +0000 + +dcmtk (3.6.1~20170228-1~exp1) experimental; urgency=medium + + [ Gert Wollny ] + * Set dependency to libssl-dev, Closes: #851083 + * Update patches to new upstream + * d/p/02: correct calls to JpegLsEncode because system CharLS + interface of the bundled version differs from Debian version + * New upstream version 3.6.1~20170228 + * Change to libdcmtk11 because of soname change + * Remove d/p/09 patch + * d/* Update package names and build rules to new SO-version + * d/copyright: mention Frank Vanden Berghen and his AFPL license + Thanks for spotting this: Thorsten Alteholz + * d/control: update self e-mail address in uploaders + * d/copyright: Add copyright information for new files + + [ Mathieu Malaterre ] + * d/control: Remove self from Uploaders + + -- Gert Wollny Mon, 20 Feb 2017 13:15:40 +0100 + +dcmtk (3.6.1~20160216-2) unstable; urgency=medium + + * d/p/08: remove SYSTEM_PROCESSOR usage for reproducible builds + * d/p/09: add patch to enable compileing against openssl-1.1 + Closes: #828281 + * d/p/04: update patch to remove duplicate entries + * d/rules: add hardening flags + * d/control: change conflict with libinsighttoolkit4-dev to breaks + + -- Gert Wollny Sun, 03 Jul 2016 13:58:34 +0000 + +dcmtk (3.6.1~20160216-1) experimental; urgency=medium + + [ Gert Wollny ] + * New upstream version + * d/p/*: rebase patches + * d/p/06: Update patch to use ABI version as part of the library name + * d/*: Update files to correspond to new soversion 8. + Jumping from 5 to 8 because upstream uses 8. + * d/copyright: Update copyright information + * d/control: update standards version to 3.9.8 + * d/control + d/rules: drop dbg package in favour of antomatic ones + + [ Mattia Rizzolo ] + * d/control: Use secure URIs (https) in Vcs-Git. + * d/libdcmtk5.dirs: removed as useless. + * d/dcmtk.preinst: 'set -e' in the script instead of the shebang, + fixes lintian's maintainer-script-without-set-e + + -- Gert Wollny Sun, 08 May 2016 21:59:06 +0000 + +dcmtk (3.6.1~20150924-5) unstable; urgency=medium + + * d/libdcmtk-dev revert last change since ITK-4.9 now supports + properly the dcmtk*.cmake files. + * d/control: conflict with older versions of libinsighttoolkit-dev + + -- Gert Wollny Sat, 30 Jan 2016 23:11:21 +0100 + +dcmtk (3.6.1~20150924-4) unstable; urgency=medium + + * Do not install DCMTK*.cmake files, they break things. + cmake's FindDCMTK handles this case better without these files. + + -- Gert Wollny Tue, 05 Jan 2016 21:42:56 +0100 + +dcmtk (3.6.1~20150924-2) unstable; urgency=medium + + * Update internal use of DCMDICT path Closes: #807691 + * Correct Apache-2.0 copyright + + -- Gert Wollny Fri, 11 Dec 2015 17:42:45 +0100 + +dcmtk (3.6.1~20150924-1) unstable; urgency=medium + + * New upstream version + * Move vcs to git + * Remove dcmtk-www, because it is no longer provided by upstream + * Because of ABI change rename library package to libdcmtk5 + * Add libcharls-dev to libdcmtk-dev dependencies (reason: see below) + + -- Gert Wollny Tue, 01 Dec 2015 02:46:03 +0100 + +dcmtk (3.6.1~20150629-7) unstable; urgency=medium + + * d/control: Add more dependencies to libdcmtk-dev, because the + cmake based build system creates a cmake use file that pulls in + these libraries for linking. + + -- Gert Wollny Sun, 29 Nov 2015 21:16:37 +0100 + +dcmtk (3.6.1~20150629-6) unstable; urgency=medium + + * Change Provides:libdcmtk-dev to Provides:libdcmtk2-dev Closes: #805718 + + -- Gert Wollny Sat, 21 Nov 2015 13:58:54 +0100 + +dcmtk (3.6.1~20150629-5) unstable; urgency=medium + + * d/control: Add conflict/replace for libdcmtk4-dev + + -- Gert Wollny Thu, 12 Nov 2015 13:30:12 +0100 + +dcmtk (3.6.1~20150629-4) unstable; urgency=medium + + * Add patch soversion_abi.patch to change not only the library file + name but also in the cmake related files. + * Add patch dont_export.. to not export all executables for cmake + Closes: #803304 + * d/rules: remove code to add abi-suffix to libraries on install + * Add Gert Wollny to uploaders + + -- Gert Wollny Thu, 29 Oct 2015 11:51:54 +0100 + +dcmtk (3.6.1~20150629-3) unstable; urgency=medium + + * Adapt prerm script for dash + Closes: #803008 + * small DEP5 fixes + + -- Andreas Tille Mon, 26 Oct 2015 12:11:22 +0100 + +dcmtk (3.6.1~20150629-2) unstable; urgency=medium + + * debian/copyright: DEP5 + * unversioned -dev package + Closes: #800481 + * Inform users about non-backward compatible changes in dcmtk database + when using dcmqrscp + Closes: #799039 + * suppress lintian warnings no-symbols-control-file + * create empty dir /var/lib/dcmtk/db in package + Closes: #801735 + + -- Andreas Tille Fri, 23 Oct 2015 23:29:57 +0200 + +dcmtk (3.6.1~20150629-1) unstable; urgency=medium + + * New upstream version + * cme fix dpkg-control + * libdcmtk4-dev conflicts libdcmtk2-dev + Closes: #769151 + * Do gcc-5 transition on new version + * Conflicts/Replaces: libdcmtk3 + Closes: #754583 + * Do not hardcode path to invoke-rc.d in maintainer scripts + * Fix apache configuration (thanks for the patch to HAYASHI Kentaro + ) + Closes: #779700 + * Apply patch to fix performance problem (thanks for the patch to + Sebastien Jodogne ) + Closes: #785400) + * Enable reproducible build (Thanks for the patch to Maria Valentina Marin + ) + Closes: #790133 + + -- Andreas Tille Sun, 13 Sep 2015 20:31:57 +0200 + +dcmtk (3.6.1~20140617-3) experimental; urgency=low + + * Fix building/running on sparc. + * Really remove md5 files from doxygen HTML output + + -- Mathieu Malaterre Mon, 07 Jul 2014 09:09:49 +0200 + +dcmtk (3.6.1~20140617-2) experimental; urgency=low + + * Fix SIGSEGV on sparc + * Fix removal of md5 files on buildds + + -- Mathieu Malaterre Tue, 01 Jul 2014 11:15:54 +0200 + +dcmtk (3.6.1~20140617-1) experimental; urgency=low + + * New snapshot. Use ABI=4 as per upstream + * Refreshed patches, removed applied upstream + + -- Mathieu Malaterre Wed, 18 Jun 2014 08:44:51 +0200 + +dcmtk (3.6.1~20131114-7) experimental; urgency=low + + * Bump Std-Vers to 3.9.5, no changes needed + * Fix failing SCP test. Closes: #740342 + + -- Mathieu Malaterre Fri, 28 Feb 2014 13:19:20 +0100 + +dcmtk (3.6.1~20131114-6) experimental; urgency=low + + * Remove non-ASCII char. Closes: #732673 + * Fix setuid return value. Closes: #731434 + * Update old copyright. Closes: #732672 + + -- Mathieu Malaterre Thu, 27 Feb 2014 17:33:18 +0100 + +dcmtk (3.6.1~20131114-5) experimental; urgency=low + + * Increase timeout a little to fix issue on s390x + + d/p/timeout.patch + + -- Mathieu Malaterre Fri, 20 Dec 2013 11:02:48 +0100 + +dcmtk (3.6.1~20131114-4) experimental; urgency=low + + * Import patch from git (upstream) + + -- Mathieu Malaterre Thu, 19 Dec 2013 17:33:18 +0100 + +dcmtk (3.6.1~20131114-3) experimental; urgency=low + + * Another round of compilation fixes. Closes: #731434 + * Fix installation. Closes: #731752 + * Another attempt at fixing test. Closes: #730582 + + -- Mathieu Malaterre Tue, 10 Dec 2013 15:15:52 +0100 + +dcmtk (3.6.1~20131114-2) experimental; urgency=low + + * Fix failing test (ofstd_markup_6). Closes: #730582 + * Remove some spelling error in man pages. Closes: #730635 + * Remove CMake overriding our compilation flags. Closes: #730636 + + -- Mathieu Malaterre Thu, 05 Dec 2013 12:50:28 +0100 + +dcmtk (3.6.1~20131114-1) experimental; urgency=low + + * New snapshot. Closes: #723091, #715039 + * Refresh patches + + -- Mathieu Malaterre Fri, 22 Nov 2013 19:55:25 +0100 + +dcmtk (3.6.1~20121102-5) experimental; urgency=low + + * Fix jquery.js removal when executing build-indep + + -- Mathieu Malaterre Wed, 04 Sep 2013 09:08:29 +0200 + +dcmtk (3.6.1~20121102-4) experimental; urgency=low + + * Fix buffer overflow in StudyInstanceUID. Closes: #715011 + * Fix apache 2.4 transition. Closes: #669740 + * Fix -doc installation. Closes: #717968 + + -- Mathieu Malaterre Mon, 02 Sep 2013 11:13:46 +0200 + +dcmtk (3.6.1~20121102-3) experimental; urgency=low + + * fix lintian warning about jquery.js (doxygen generated) + * remove internal tests suite from dcmtk package + * cope with cmake and #701231 + * Update patch d/p/bug706062.patch. Closes: #706062 + * Upgrade for apache 2.4. Closes: #669740 + + -- Mathieu Malaterre Wed, 19 Jun 2013 13:51:22 +0200 + +dcmtk (3.6.1~20121102-2) experimental; urgency=low + + * Install *.dic to versioned dir (See #709123) + * Add preliminary work to get iconv support + + -- Mathieu Malaterre Fri, 31 May 2013 17:39:30 +0200 + +dcmtk (3.6.1~20121102-1) experimental; urgency=low + + * Use new dh syntax + * Run w-a-s. Use B-D-I for doxygen + * Switch to cmake build system (allows parallel builds). Closes: #701801 + * Use system CharLS. Closes: #705923 + * Use SOP class uid with option. Closes: #706062 + + -- Mathieu Malaterre Wed, 15 May 2013 10:34:58 +0200 + +dcmtk (3.6.0-13) unstable; urgency=low + + * Remove d/README.source, since source-format 3.0 + * Update dcmtk-www README for install instructions + * Remove obsolete DMUA flag + * Bump Std-Vers to 3.9.4, no changes needed + * Provide a debug package. Closes: #690733 + * Fix SIGSEGV. Closes: #703716 + + -- Mathieu Malaterre Wed, 15 May 2013 10:10:29 +0200 + +dcmtk (3.6.0-12) unstable; urgency=low + + [ Andrey Rahmatullin ] + * Fix underlinked libraries. Closes: #677721 + - debian/patches/underlink.patch + + -- Mathieu Malaterre Thu, 20 Dec 2012 13:20:45 +0100 + +dcmtk (3.6.0-11) unstable; urgency=low + + * Fix compilation with gcc 4.7. Closes: #674361 + - debian/patches/bug674361.patch + * Make sure to link against libxml2. Closes: #510120 + * Fix some underlinking. Closes: #674586 + - debian/patches/underlink.patch + + -- Mathieu Malaterre Thu, 31 May 2012 11:31:16 +0200 + +dcmtk (3.6.0-10) unstable; urgency=low + + [ Andreas Tille ] + * debian/dcmtk.prerm: when purging dirs in /var/lib need to be + removed in advance. Closes: #660346 + + [ Mathieu Malaterre ] + * Use libpng-dev. Closes: #662296 + * Use libtiff-dev for transition to tiff5 + * Bump Std-Vers to 3.9.3. No changes needed + + -- Mathieu Malaterre Tue, 06 Mar 2012 23:01:59 +0100 + +dcmtk (3.6.0-9) unstable; urgency=low + + * Remove dot wrapper, not required anymore. + * Generate doc using svg instead of png to save disk space + * Fix compilation. Thanks to Bhavani Shankar. Closes: #646316 + * Fix VCS URLs + + -- Mathieu Malaterre Wed, 23 Nov 2011 16:31:18 +0100 + +dcmtk (3.6.0-8) unstable; urgency=low + + * Adding a storescp daemon + * Remove convenient copy of CharLS. Closes: #631100 + + -- Mathieu Malaterre Tue, 19 Jul 2011 17:08:19 +0200 + +dcmtk (3.6.0-7) unstable; urgency=low + + * Add a patch (from current git/master) to fix a regression. Closes: #630781 + * Another fix to remove symlink only if exists + * Remove deprecated lintian override + + -- Mathieu Malaterre Fri, 17 Jun 2011 14:43:37 +0200 + +dcmtk (3.6.0-6) unstable; urgency=low + + * Make sure OFFIS_DCMTK_VERSION_NUMBER is really a number. Closes: #628168 + * Update Standard Version to 3.9.2. No changes needed + * Fix some lintian errors in control file + * Fix piuparts reports on remaining dcmtk apache configuration file + + -- Mathieu Malaterre Tue, 31 May 2011 23:28:12 +0200 + +dcmtk (3.6.0-5) unstable; urgency=low + + * Fix invalid dep. to apache with apache2 + * Remove explicit `invoke-rc.d dcmqrscp stop` since it makes package + un-removable. Let dh_installinit handles it + + -- Mathieu Malaterre Mon, 28 Mar 2011 15:33:06 +0200 + +dcmtk (3.6.0-4) unstable; urgency=low + + * new release fixes segfault. Closes: #615977 + * Update README. Closes: #618686 + * 3.6.0 is already packaged. Closes: #610855 + * Update postrm script. Closes: #618688 + + -- Mathieu Malaterre Thu, 17 Mar 2011 17:32:48 +0100 + +dcmtk (3.6.0-3) unstable; urgency=low + + * Properly conflict with dcmtk 3.5.4 and libdcmtk2 + * Remove reference to issue with UNIX FHS + + -- Mathieu Malaterre Tue, 08 Mar 2011 17:14:24 +0100 + +dcmtk (3.6.0-2) experimental; urgency=low + + * Update copyright to reflects 3.6.0 changes + * Update dcmtk.NEWS to reflects 3.6.0 news + * Minor update to dcmtk.README.Debian for build instructions + * Minor cosmetic changes to the patch series + + -- Mathieu Malaterre Tue, 08 Feb 2011 19:20:13 +0100 + +dcmtk (3.6.0-1) experimental; urgency=low + + [ Mathieu Malaterre ] + * New upstream: 3.6.0 + * Update SONAME to 2.0.0 because of change in log4cplus::Logger::addAppender + * Fix lintian errors on misc:Depends + * Fix lintian errors on init.d script + * Add a patch to link wth png/tiff libraries + * Update perl path patch + * debian/control: Update standards-version to 3.9.1 + * Fix new naming convention for this release + * Add get-orig-source target in rules file + * Fix CHANGES numbering into something more flexible for later revs. + * Move *.dic file to the libdcmtk2 package + * Switch to dpkg-source 3.0 (quilt) format + + [ Andreas Tille ] + * make sure *.dic file shwo up only in libdcmtk2 package + * Add -f to rm statement in clean target + + -- Andreas Tille Fri, 04 Feb 2011 22:24:40 +0100 + +dcmtk (3.5.4-4) unstable; urgency=low + + [Andreas Tille] + * Group maintenance according to Debian Med group policy + * Added myself as Uploader + * VCS fields + * Standards-Version: 3.8.3 (Added README.source) + * debhelper >= 7 + * Add passive mode to watch file + * make use of dh_install + * debian/patches/05_no_www_docs.patch: Just do not install those + files we do not need in the docs of the package in the first + place instead of removing them later + * Removed some lintian warnings + * debian/patches/06_old_patches_from_diff_gz.patch: Move changes + from diff.gz to quilt patches + * Remove unused config files from previous versions according to + http://wiki.debian.org/DpkgConffileHandling + (The former handling in preinst triggered a lintian error) + * debian/dcmtk.NEWS: Reformating according to developers reference + 6.3.4. Supplementing changelogs with NEWS.Debian files + * debian/{01_buildsystem_changes,01_fix_perl_script_path,02_dcmtk_3.5.4-3}.patch + split up patches of former maintainer into maintainable pieces + * Build-Depends: graphviz + * debian/dot: Hack to enable png:gd graphics in doxygen which was + told to be more compact and readable. The hack contains also + working code to create SVG, but I failed to patch the HTML files + to render SVG files + * debian/libdcmtk1.lintian-overrides: we bundle more than + one library in this package so the warning is void + * debian/rules: Try to make backups of original files in config + but failed for two remaining files (no idea why) + * Move all files of dcmtk-www to /usr/lib/dcmtk/cgi-bin and + provide apache configuration which enable easy access via + http://localhost/dcmtk_wlm/ + Closes: #553495 + + [Mathieu Malaterre] + * debian/rules would not honor DEB_BUILD_OPTIONS=nostrip, since + original Makefiles would hardcode call to `strip` directly + instead rely on dh_strip instead and remove direct call to + `strip` from Makefiles. + Closes: #511668, #436758 + + -- Andreas Tille Wed, 02 Dec 2009 09:54:56 +0100 + +dcmtk (3.5.4-3) unstable; urgency=low + + * debian/control: Update standards-version to 3.7.2 + * debian/dcmqrscp.init: Add LSB keyword section + * dcmnet/apps/{findscu,movescu}.cc: Apply patches in order + to fix --add-override-key bug (reported by Mike Miller + ) + Closes: #429041 + * debian/dcmtk.prerm: Stop dcmqrscp/imagectn more sanely + * debian/control: Replace ${Source-Version} by ${binary:Version} + + -- Juergen Salk Sun, 22 Jul 2007 20:41:22 +0200 + +dcmtk (3.5.4-2) unstable; urgency=low + + * debian/control: Added build dependency on autotools-dev + * debian/rules: Modified clean target to put config.{sub,guess} below ./config + * dcmdata/libsrc/Makefile.in: Modified distclean target to delete dicom.tmp as well + * debian/rules: Fixed installation path for include files + * debian/dcmtk.postinst: Fixed add{user,group} options to reveal possible error msgs + (reported by Lars Wirzenius ) + Closes: #353288 + * debian/control: Removed 'Uploaders: field. + | From: Pablo Sau + | Subject: Re: dcmtk + | Date: Thu, 19 Jan 2006 16:41:06 +0100 + | To: Juergen Salk + | Hi Juergen: + | > I am still keeping you as an active co-maintainer for the Debian + | > dcmtk packages in the debian/control file. Would you mind, if I + | > drop your name from the control file in one of the next releases? + | > + | Of course, you must do it! + | Thanks for your support of dcmtk and best regards. + | Pablo + + -- Juergen Salk Sun, 15 Jan 2006 17:31:38 +0000 + +dcmtk (3.5.4-1) unstable; urgency=low + + * New upstream release + * debian/dcmtk.NEWS: Added + * debian/copyright: Updated according to upstream's COPYRIGHT file + * debian/control: Unversioned build-dependency on libssl (now uses + OPENSSL_VERSION_NUMBER macro) + * debian/rules: Incremented SONAME version number (DcmFileFormat::loadFile changed) + * debian/rules: Changed dh_installinit --name argument to dcmqrscp + * debian/README.debian: Updated to reflect imagectn -> dcmqrscp transition + * debian/dcmtk.postinst: Added code for imagectn -> dcmqrscp transition + * debian/dcmtk.preinst: Created to handle imagectn -> dcmqrscp transition + * debian/dcmtk.postrm: Created to handle imagectn -> dcmqrscp transition + * debian/imagectn.init: Replaced by dcmqrscp.init + * debian/imagectn.default: Replaced by dcmqrscp.default + * debian/dcmtk.postinst: Added code to handle dcmtk user/group creation more sanely + * debian/control: Adjusted 'Maintainer:' field + * config/Makefile.def: Adjusted datadir and docdir + * dcmdata/libsrc/Makefile.in: Fixed bug for dicom.dic installation path + * dcmdata/apps/Makefile.in: Adjusted dcm2xml.dtd and dumppat.txt install paths + * dcmsr/apps/Makefile.in: Adjusted dsr2xml.xsd install path + * dcmwlm/perl/*.p[lh]: Adjusted perl hashbangs in CGI scripts + * dcmwlm/perl/prefs.ph: Adjusted cgi_path, html_path and data_path + * dcmqrdb/etc/dcmqrscp.cfg: Added UserName/GroupName config parameters + * dcmqrdb/etc/dcmqrscp.cfg: Commented out and adjusted example configuration + * dcmqrdb/docs/dcmqrcnf.txt: Adjusted UserName/GroupName examples + * dcmwlm/wlistdb/OFFIS: Added newline to prevent lintian "zero-bye" warning + + -- Juergen Salk Tue, 20 Dec 2005 20:29:15 +0000 + +dcmtk (3.5.3-5) unstable; urgency=low + + * ./dcmsign/libsrc/sicert.cc: Constified d2i_X509 argument to fix build + problems with libssl-0.9.8 + Closes: #335399 + * debian/control: Versioned build-depend on libssl (>= 0.9.8-1) + * ./dcmnet/etc/storescp.cfg: Added missing Verification SOP Class + + -- Juergen Salk Mon, 24 Oct 2005 20:16:56 +0000 + +dcmtk (3.5.3-4) unstable; urgency=low + + * debian/control: Added dependency on adduser for dcmtk package + * debian/control: Update Standards-Version to 3.6.2 + * debian/{control,rules}: Renamed libdcmtk0 to libdcmtk0c2 (gcc/g++-4.0 transition) + * debian/control: Added Conflicts/Replaces with previous non-c2 version + * config/{configure.in,aclocal.m4,include/cfunix.h.in}, + ofstd/libsrc/ofthread.cc: Backport HAVE_POINTER_TYPE_PTHREAD_T patch + from CVS version to fix build problems with gcc/g++-4.0 + + -- Juergen Salk Sun, 22 May 2005 22:02:31 +0200 + +dcmtk (3.5.3-3) unstable; urgency=low + + * debian/rules: Utilized binary-indep target for -doc package + (suggested by Marc 'HE' Brockschmidt ) + * debian/rules: Introduced {build,install}-{indep,arch} targets + * debian/rules: Removed unneeded dh_* calls from binary-arch target + * Removed stale debian/*.install files + + -- Juergen Salk Mon, 25 Apr 2005 20:13:09 +0200 + +dcmtk (3.5.3-2) unstable; urgency=medium + + * Added imagectn UserName/GroupName security patch + * Modified imagectn.cfg to reflect imagectn patch + * Modified debian/rules to create imagectn storage area + * Updated imagectn/docs/ctnconf.txt + * Fixed parser bug in CNF_readConfigLines() + (reported by R.M. Rutschmann ) + * Added debian/dcmtk.postinst script to create dcmtk system user/group + * Added debian/imagectn.init and debian/imagectn.default + (suggested by R.M. Rutschmann ) + * Updated debian/README.Debian + * Removed stale lintian override file + * Swapped 'Maintainer:' and 'Uploaders:' field + | From: Pablo Sau + | Subject: Re: New (inofficial) dcmtk packages available + | Date: Thu, 31 Mar 2005 16:44:50 +0200 + | > >> Why is Juergen "not official"? + | > > Historical reasons. It was Pablo who has filed the ITP for dcmtk + | > > initially. That's why we assigned maintainership to him for the + | > > first release. + | > If I understand Pablo right than he agreed that you will be put + | > in the Maintainer field. Pablo, correct me if I'm wrong. + | Yes of course,I filed the ITP for dcmtk initially but absolutely all + | work has been made by Juergen, so I think he must to be in the + | Maintainer field. + | Thanks Juergen for your great work and best regards to all of you. + + -- Juergen Salk Sat, 19 Mar 2005 22:58:21 +0100 + +dcmtk (3.5.3-1) unstable; urgency=low + + * Initial Release. + Closes: #278914 + * Adjusted toplevel Makefile and config/Makefile.def.in to fix $DESTDIR problems + * Fixed bug in config/configure.in for DCM_DICT_DEFAULT_PATH + * Modified dcmdata/libsrc/Makefile.in to adjust dicom.dic install path + * Modified dcmdata/apps/Makefile.in to adjust dcm2xml.dtd and dumppat.txt install paths + * Modified dcmsr/apps/Makefile.in to adjust dsr2xml.xsd install path + * Modified dcmwlm/Makefile.in to prevent wwwapps from being installed in ${bindir}. + * Set GENERATE_HTMLHELP = NO in doxygen/htmldocs to avoid index.hh?.gz cruft + * Adjusted hashbangs in dcmwlm/perl CGI scripts + * Adjusted cgi_path, html_path and data_path in dcmwlm/perl/prefs.ph + * Added newline in dcmwlm/wlistdb/OFFIS to prevent lintian "zero-bye" warning + + -- Juergen Salk Sat, 30 Oct 2004 11:02:48 +0200 + diff --git a/control b/control new file mode 100644 index 00000000..160c2962 --- /dev/null +++ b/control @@ -0,0 +1,103 @@ +Source: dcmtk +Maintainer: Debian Med Packaging Team +Uploaders: Gert Wollny +Section: science +Priority: optional +Build-Depends: cmake, + debhelper-compat (= 13), + help2man, + libcharls-dev, + libpng-dev, + libsndfile1-dev, + libssl-dev, + libtiff-dev, + libwrap0-dev, + libxml2-dev, + gettext, + zlib1g-dev +Build-Depends-Indep: doxygen, + graphviz +Standards-Version: 4.5.0 +Vcs-Browser: https://salsa.debian.org/med-team/dcmtk +Vcs-Git: https://salsa.debian.org/med-team/dcmtk.git +Homepage: http://dicom.offis.de/dcmtk + +Package: dcmtk +Architecture: any +Depends: adduser, + ${misc:Depends}, + ${shlibs:Depends} +Description: OFFIS DICOM toolkit command line utilities + DCMTK includes a collection of libraries and applications for examining, + constructing and converting DICOM image files, handling offline media, + sending and receiving images over a network connection, as well as + demonstrative image storage and worklist servers. + . + This package contains the DCMTK utility applications. + . + Note: This version was compiled with libssl support. + +Package: libdcmtk15 +Architecture: any +Section: libs +Depends: ${misc:Depends}, + ${shlibs:Depends} +Conflicts: libdcmtk4, + libdcmtk3 +Replaces: libdcmtk4, + libdcmtk3 +Description: OFFIS DICOM toolkit runtime libraries + DCMTK includes a collection of libraries and applications for examining, + constructing and converting DICOM image files, handling offline media, + sending and receiving images over a network connection, as well as + demonstrative image storage and worklist servers. + . + This package contains the runtime libraries for the DCMTK utility + applications. + . + Note: This version was compiled with libssl support. + +Package: libdcmtk-dev +Architecture: any +Section: libdevel +Depends: libxml2-dev, + libssl-dev, + libpng-dev, + libwrap0-dev, + libcharls-dev, + libtiff-dev, + libdcmtk15 (= ${binary:Version}), + ${misc:Depends} +Suggests: dcmtk-doc +Breaks: libinsighttoolkit4-dev (<< 4.9.0) +Conflicts: libdcmtk2-dev, + libdcmtk4-dev +Provides: libdcmtk2-dev +Replaces: libdcmtk2-dev, + libdcmtk4-dev +Description: OFFIS DICOM toolkit development libraries and headers + DCMTK includes a collection of libraries and applications for examining, + constructing and converting DICOM image files, handling offline media, + sending and receiving images over a network connection, as well as + demonstrative image storage and worklist servers. + . + This package contains development libraries and headers for DCMTK. You + only need to install this if you are developing programs that use the + DCMTK libraries. + . + Note: This version was compiled with libssl support. + +Package: dcmtk-doc +Architecture: all +Section: doc +Depends: ${misc:Depends} +Suggests: dcmtk, + libdcmtk-dev +Description: OFFIS DICOM toolkit documentation + DCMTK includes a collection of libraries and applications for examining, + constructing and converting DICOM image files, handling offline media, + sending and receiving images over a network connection, as well as + demonstrative image storage and worklist servers. + . + This package contains the on-line documentation for the DCMTK libraries + and utilities in HTML format. diff --git a/copyright b/copyright new file mode 100644 index 00000000..5ec4f1e1 --- /dev/null +++ b/copyright @@ -0,0 +1,560 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: DCMTK +Upstream-Contact: DCMTK Team +Source: https://github.com/commontk/DCMTK + +Files: * +Copyright: 1994-2019, OFFIS e.V. +License: OFFISeV + +Files: dcmnet/include/dcmtk/dcmnet/dimse.h + dcmnet/include/dcmtk/dcmnet/assoc.h + dcmnet/include/dcmtk/dcmnet/dicom.h + dcmnet/include/dcmtk/dcmnet/dcompat.h + dcmnet/include/dcmtk/dcmnet/diutil.h + dcmnet/libsrc/dimstore.cc + dcmnet/libsrc/assoc.cc + dcmnet/libsrc/dulextra.cc + dcmnet/libsrc/dcompat.cc + dcmnet/libsrc/diutil.cc + dcmnet/libsrc/dimcmd.h + dcmnet/libsrc/dimfind.cc + dcmnet/libsrc/dimse.cc + dcmnet/libsrc/dimcmd.cc + dcmnet/libsrc/dimcancl.cc + dcmnet/libsrc/dimecho.cc + dcmnet/libsrc/dimmove.cc +Copyright: 1993/1994, OFFIS, Oldenburg University and CERIUM +License: OFFIS + This software and supporting documentation were + developed by + . + Institut OFFIS + Bereich Kommunikationssysteme + Westerstr. 10-12 + 26121 Oldenburg, Germany + . + Fachbereich Informatik + Abteilung Prozessinformatik + Carl von Ossietzky Universitaet Oldenburg + Ammerlaender Heerstr. 114-118 + 26111 Oldenburg, Germany + . + CERIUM + Laboratoire SIM + Faculte de Medecine + 2 Avenue du Pr. Leon Bernard + 35043 Rennes Cedex, France + . + for CEN/TC251/WG4 as a contribution to the Radiological + Society of North America (RSNA) 1993 Digital Imaging and + Communications in Medicine (DICOM) Demonstration. + . + THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND NEITHER OFFIS, + OLDENBURG UNIVERSITY NOR CERIUM MAKE ANY WARRANTY REGARDING + THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR + FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER + DISEASES OR ITS CONFORMITY TO ANY SPECIFICATION. THE + ENTIRE RISK AS TO QUALITY AND PERFORMANCE OF THE SOFTWARE + IS WITH THE USER. + . + Copyright of the software and supporting documentation + is, unless otherwise stated, jointly owned by OFFIS, + Oldenburg University and CERIUM and free access is hereby + granted as a license to use this software, copy this + software and prepare derivative works based upon this + software. However, any distribution of this software + source code or supporting documentation or derivative + works (source code and supporting documentation) must + include the three paragraphs of this copyright notice. + +Files: dcmnet/include/dcmtk/dcmnet/dul.h + dcmnet/libsrc/dulstruc.h + dcmnet/libsrc/dul.cc + dcmnet/libsrc/dulconst.cc + dcmnet/libsrc/dulpriv.h + dcmnet/libsrc/dulpres.cc + dcmnet/libsrc/dulfsm.h + dcmnet/libsrc/dulfsm.cc + dcmnet/libsrc/dulparse.cc +Copyright: 1993, RSNA and Washington University +License: RSNA + The software and supporting documentation for the Radiological + Society of North America (RSNA) 1993 Digital Imaging and + Communications in Medicine (DICOM) Demonstration were developed + at the + Electronic Radiology Laboratory + Mallinckrodt Institute of Radiology + Washington University School of Medicine + 510 S. Kingshighway Blvd. + St. Louis, MO 63110 + as part of the 1993 DICOM Central Test Node project for, and + under contract with, the Radiological Society of North America. + . + THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND NEITHER RSNA NOR + WASHINGTON UNIVERSITY MAKE ANY WARRANTY ABOUT THE SOFTWARE, ITS + PERFORMANCE, ITS MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR + USE, FREEDOM FROM ANY COMPUTER DISEASES OR ITS CONFORMITY TO ANY + SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND PERFORMANCE OF + THE SOFTWARE IS WITH THE USER. + . + Copyright of the software and supporting documentation is + jointly owned by RSNA and Washington University, and free access + is hereby granted as a license to use this software, copy this + software and prepare derivative works based upon this software. + However, any distribution of this software source code or + supporting documentation or derivative works (source code and + supporting documentation) must include the three paragraphs of + the copyright notice. + +Files: dcmjpeg/libijg8/* + dcmjpeg/libijg12/* + dcmjpeg/libijg16/* +Copyright: 1991-1998, Thomas G. Lane. +License: JPEG + The authors make NO WARRANTY or representation, either express or implied, + with respect to this software, its quality, accuracy, merchantability, or + fitness for a particular purpose. This software is provided "AS IS", and you, + its user, assume the entire risk as to its quality and accuracy. + . + Permission is hereby granted to use, copy, modify, and distribute this + software (or portions thereof) for any purpose, without fee, subject to these + conditions: + (1) If any part of the source code for this software is distributed, then this + README file must be included, with this copyright and no-warranty notice + unaltered; and any additions, deletions, or changes to the original files + must be clearly indicated in accompanying documentation. + (2) If only executable code is distributed, then the accompanying + documentation must state that "this software is based in part on the work of + the Independent JPEG Group". + (3) Permission for use of this software is granted only if the user accepts + full responsibility for any undesirable consequences; the authors accept + NO LIABILITY for damages of any kind. + . + These conditions apply to any software derived from or based on the IJG code, + not just to the unmodified library. If you use our work, you ought to + acknowledge us. + . + Permission is NOT granted for the use of any IJG author's name or company name + in advertising or publicity relating to this software or products derived from + it. This software may be referred to only as "the Independent JPEG Group's + software". + . + We specifically permit and encourage the use of this software as the basis of + commercial products, provided that all warranty or liability claims are + assumed by the product vendor. + +Files: dcmimage/include/dcmtk/dcmimage/diqtpix.h +Copyright: 1991 by Jef Poskanzer. +License: pbmplus + Permission to use, copy, modify, and distribute this software and its + documentation for any purpose and without fee is hereby granted, provided + that the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation. This software is provided "as is" without express or + implied warranty. +Comment: The code for the interpolatePixel() image scaling algorithm in module + dcmimgle has been derived from code written by Jef Poskanzer for the + "Extended Portable Bitmap Toolkit" (pbmplus10dec91) + +Files: ofstd/libsrc/ofstd.cc +Copyright: 2001-2017 OFFIS e.V. + 1998 Todd C. Miller + 1988 Regents of the University of California + 1999 Bob Withers +License: OFFISeV + +Files: oflog/* +Copyright: 1999-2009 Contributors to log4cplus project. +License: BSD-2-clause + Redistribution and use in source and binary forms, with or without modifica- + tion, are permitted provided that the following conditions are met: + . + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- + DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: oflog/include/dcmtk/oflog/config/macosx.h +Copyright: 2003-2010 Christopher R. Bailey +License: Apache-2.0 + +Files: oflog/include/dcmtk/oflog/windebap.h + oflog/libsrc/windebap.cc +Copyright: 2003-2010 Eduardo Francos, Odalio SARL +License: Apache-2.0 + +Files: oflog/libsrc/clogger.cc + oflog/include/dcmtk/oflog/clogger.h +Copyright: 2011 Jens Rehsack and Tad E. Smith +License: Apache-2.0 + +Files: oflog/include/dcmtk/oflog/ntelogap.h + oflog/libsrc/ntelogap.cc +Copyright: 2003-2010 Michael CATANZARITI +License: Apache-2.0 + +Files: oflog/include/dcmtk/oflog/log4judp.h + oflog/libsrc/log4judp.cc +Copyright: 2012 Siva Chandran P +License: Apache-2.0 + +Files: config/stdcxx.m4 +Copyright: 2008 Benjamin Kosnik + 2012 Zack Weinberg + 2013 Roy Stogner + 2014, 2015 Google Inc.; contributed by Alexey Sokolov + 2015 Paul Norman + 2015 Moritz Klammler + 2016 Krzesimir Nowak +License: stdcxx-m4 + Copying and distribution of this file, with or without modification, are + permitted in any medium without royalty provided the copyright notice + and this notice are preserved. This file is offered as-is, without any + warranty. + +Files: oflog/include/dcmtk/oflog/appender.h + oflog/include/dcmtk/oflog/config/win32.h + oflog/include/dcmtk/oflog/configrt.h + oflog/include/dcmtk/oflog/consap.h + oflog/include/dcmtk/oflog/fileap.h + oflog/include/dcmtk/oflog/fstreams.h + oflog/include/dcmtk/oflog/helpers/apndimpl.h + oflog/include/dcmtk/oflog/helpers/lloguser.h + oflog/include/dcmtk/oflog/helpers/loglog.h + oflog/include/dcmtk/oflog/helpers/pointer.h + oflog/include/dcmtk/oflog/helpers/property.h + oflog/include/dcmtk/oflog/helpers/sleep.h + oflog/include/dcmtk/oflog/helpers/sockbuff.h + oflog/include/dcmtk/oflog/helpers/socket.h + oflog/include/dcmtk/oflog/helpers/strhelp.h + oflog/include/dcmtk/oflog/helpers/threadcf.h + oflog/include/dcmtk/oflog/helpers/timehelp.h + oflog/include/dcmtk/oflog/hierarchy.h + oflog/include/dcmtk/oflog/hierlock.h + oflog/include/dcmtk/oflog/layout.h + oflog/include/dcmtk/oflog/logger.h + oflog/include/dcmtk/oflog/loglevel.h + oflog/include/dcmtk/oflog/logmacro.h + oflog/include/dcmtk/oflog/ndc.h + oflog/include/dcmtk/oflog/nullap.h + oflog/include/dcmtk/oflog/socketap.h + oflog/include/dcmtk/oflog/spi/apndatch.h + oflog/include/dcmtk/oflog/spi/factory.h + oflog/include/dcmtk/oflog/spi/filter.h + oflog/include/dcmtk/oflog/spi/logevent.h + oflog/include/dcmtk/oflog/spi/logfact.h + oflog/include/dcmtk/oflog/spi/logimpl.h + oflog/include/dcmtk/oflog/spi/objreg.h + oflog/include/dcmtk/oflog/spi/rootlog.h + oflog/include/dcmtk/oflog/streams.h + oflog/include/dcmtk/oflog/syslogap.h + oflog/include/dcmtk/oflog/thread/impl/thredimp.h + oflog/include/dcmtk/oflog/thread/threads.h + oflog/include/dcmtk/oflog/tstring.h + oflog/libsrc/apndimpl.cc + oflog/libsrc/appender.cc + oflog/libsrc/config.cc + oflog/libsrc/consap.cc + oflog/libsrc/factory.cc + oflog/libsrc/fileap.cc + oflog/libsrc/filter.cc + oflog/libsrc/globinit.cc + oflog/libsrc/hierarchy.cc + oflog/libsrc/hierlock.cc + oflog/libsrc/layout.cc + oflog/libsrc/lloguser.cc + oflog/libsrc/logevent.cc + oflog/libsrc/logger.cc + oflog/libsrc/logimpl.cc + oflog/libsrc/loglevel.cc + oflog/libsrc/loglog.cc + oflog/libsrc/ndc.cc + oflog/libsrc/nullap.cc + oflog/libsrc/objreg.cc + oflog/libsrc/patlay.cc + oflog/libsrc/pointer.cc + oflog/libsrc/property.cc + oflog/libsrc/rootlog.cc + oflog/libsrc/sleep.cc + oflog/libsrc/sockbuff.cc + oflog/libsrc/socket.cc + oflog/libsrc/socketap.cc + oflog/libsrc/strhelp.cc + oflog/libsrc/syslogap.cc + oflog/libsrc/threads.cc + oflog/libsrc/timehelp.cc + oflog/libsrc/unixsock.cc + oflog/libsrc/winsock.cc +Copyright: 2001-2010 Tad E. Smith +License: Apache-2.0 + +Files: oflog/include/dcmtk/oflog/tracelog.h + oflog/libsrc/logmacro.cc +Copyright: 2010 Vaclav Haisman +License: Apache-2.0 + +Files: dcmjpls/libcharls/* +Copyright: 2007-2010, Jan de Vaan +License: BSD-3-clause + +Files: ofstd/tests/tstring.cc +Copyright: 1997-2011, OFFIS e.V. + 1994 Free Software Foundation +License: GPL-2.0+ + All rights reserved. See COPYRIGHT file for details. + . + This software and supporting documentation were developed by + . + OFFIS e.V. + R&D Division Health + Escherweg 2 + D-26121 Oldenburg, Germany + . + This file is part of the GNU ANSI C++ Library. This library is free + software; you can redistribute it and/or modify it under the terms of + the GNU General Public License as published by the Free Software + Foundation; either version 2, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this library; see the file COPYING, if not, see + . + . + On Debian systems, the complete text of the GNU General Public License + version 2 can be found in "/usr/share/common-licenses/GPL-2". + +Files: debian/* +Copyright: 2005-2011 Juergen Salk on + 2011-2014 Mathieu Malaterre + 2014-2015 Andreas Tille + 2015-2018 Gert Wollny +License: BSD-3-clause + +Files: ofstd/include/dcmtk/ofstd/ofxml.h + ofstd/libsrc/ofxml.cc +Copyright: 2002, Frank Vanden Berghen +License: dcmtk-or-AFPL + The following license terms apply to projects that are in some way related to + the "DCMTK project", including applications + using "DCMTK project" and tools developed + for enhancing "DCMTK project". All other projects + (not related to "DCMTK project") have to use this + code under the Aladdin Free Public License (AFPL) + See the file "AFPL-license.txt" for more information about the AFPL license. + (see http://www.artifex.com/downloads/doc/Public.htm for detailed AFPL terms) + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Frank Vanden Berghen nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + THIS SOFTWARE IS PROVIDED BY Frank Vanden Berghen ``AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: dcmrt/* +Copyright: 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + 2013-2017, J. Riesmeier, Oldenburg, Germany +License: BSD-3-clause-Riesmeier + +Files: dcmsr/include/dcmtk/dcmsr/dsrdncsr.h + dcmsr/include/dcmtk/dcmsr/dsrsaecc.h + dcmsr/libsrc/dsrdncsr.cc + dcmsr/libsrc/dsrsaecc.cc + dcmsr/include/dcmtk/dcmsr/cmr/tid1409m.h + dcmsr/include/dcmtk/dcmsr/cmr/tid1419m.h + dcmsr/include/dcmtk/dcmsr/cmr/tid1501.h + dcmsr/include/dcmtk/dcmsr/cmr/tid15def.h + dcmsr/include/dcmtk/dcmsr/cmr/tid300.h + dcmsr/include/dcmtk/dcmsr/cmr/dsrdnflt.h + dcmsr/include/dcmtk/dcmsr/cmr/dsritcsr.h + dcmsr/include/dcmtk/dcmsr/cmr/dsrprdcc.h + dcmsr/include/dcmtk/dcmsr/dsrpficc.h + dcmsr/libsrc/dsrpficc.cc + dcmsr/libsrc/dsrplicc.cc + dcmsr/libcmr/tid1409m.cc + dcmsr/libcmr/tid1419m.cc + dcmsr/libcmr/tid1501.cc + dcmsr/libcmr/tid15def.cc + dcmsr/libcmr/tid300cc.cc + dcmsr/libcmr/dsrdnflt.cc + dcmsr/libcmr/dsritcsr.cc + dcmsr/libcmr/dsrprdcc.cc +Copyright: 2016-2017, J. Riesmeier, Oldenburg, Germany +License: OFFISeV + +Files: dcmrt/include/dcmtk/dcmrt/drttypes.h + dcmrt/libsrc/drttypes.cc + dcmrt/libsrc/drtbvcps.cc + dcmrt/libsrc/drtmas.cc +Copyright: 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + 2013-2019, J. Riesmeier, Oldenburg, Germany +License: BSD-3-clause-Riesmeier + + +Files: dcmrt/include/dcmtk/dcmrt/drmdose.h + dcmrt/include/dcmtk/dcmrt/drmsrch.h + dcmrt/include/dcmtk/dcmrt/drmstrct.h + dcmrt/include/dcmtk/dcmrt/drmplan.h + dcmrt/libsrc/drmimage.cc + dcmrt/libsrc/drmplan.cc + dcmrt/libsrc/drmstrct.cc + dcmrt/tests/tsearch.cc +Copyright: 2012, OFFIS e.V. +License: OFFISeV + +Files: dcmrt/libsrc/drmdose.cc +Copyright: 2012-2015, OFFIS e.V. +License: OFFISeV + +Files: dcmrt/include/dcmtk/dcmrt/drmimage.h + dcmrt/tests/tests.cc +Copyright: 2012-2016, OFFIS e.V. +License: OFFISeV + +Files: dcmfg/include/dcmtk/dcmfg/fgframeanatomy.h + dcmfg/include/dcmtk/dcmfg/fgpixeltransform.h + dcmfg/include/dcmtk/dcmfg/fgparametricmapframetype.h + dcmfg/libsrc/fgframeanatomy.cc + dcmfg/libsrc/fgpixeltransform.cc + dcmfg/libsrc/fgparametricmapframetype.cc + dcmiod/include/dcmtk/dcmiod/iodcontentitemmacro.h + dcmiod/include/dcmtk/dcmiod/iodreferences.h + dcmiod/include/dcmtk/dcmiod/modfloatingpointimagepixel.h + dcmiod/include/dcmtk/dcmiod/modimagepixelbase.h + dcmiod/include/dcmtk/dcmiod/modimagepixelvariant.h + dcmiod/libsrc/iodcontentitemmacro.cc + dcmiod/libsrc/iodreferences.cc + dcmiod/libsrc/modfloatingpointimagepixel.cc + dcmiod/libsrc/modimagepixelbase.cc + dcmdata/tests/tnewdcme.cc +Copyright: Copyright (C) 2017, Open Connections GmbH +License: OFFISeV + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian GNU/Linux systems you can find this license under + /usr/share/common-licenses/Apache-2.0 + +License: BSD-3-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + * + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD-3-clause-Riesmeier + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + . + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + . + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + . + * Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: OFFISeV + This software and supporting documentation were developed by + . + OFFIS e.V. + R&D Division Health + Escherweg 2 + 26121 Oldenburg, Germany + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + - Neither the name of OFFIS nor the names of its contributors may be + used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/dcmqrscp.default b/dcmqrscp.default new file mode 100644 index 00000000..03a66998 --- /dev/null +++ b/dcmqrscp.default @@ -0,0 +1,3 @@ +# Run dcmqrscp at startup ? +DCMQRSCP_ENABLE=No + diff --git a/dcmqrscp.init b/dcmqrscp.init new file mode 100644 index 00000000..c7a08164 --- /dev/null +++ b/dcmqrscp.init @@ -0,0 +1,89 @@ +#! /bin/sh +# +# Start script for dcmqrscp from dcmtk-package +# Adapted from skeleton +# @(#)skeleton 2.85-23 28-Jul-2004 miquels@cistron.nl +# by Roland Marcus Rutschmann +# and Juergen Salk +# Version 0.2 Sun, 22 Jul 2007 21:32:42 +0200 +### BEGIN INIT INFO +# Provides: dcmqrscp +# Required-Start: $network $local_fs $remote_fs +# Required-Stop: $network $local_fs $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Init-Script for DCMTK Central Test Node dcmqrscp +### END INIT INFO + + +set -e + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DESC="DCMTK Central Test Node" +NAME=dcmqrscp +DAEMON=/usr/bin/$NAME +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME +DCMQRSCP_CFG="/etc/dcmtk/dcmqrscp.cfg" + +# Gracefully exit if the package has been removed. +test -x $DAEMON || exit 0 + +# Read config file if it is present. +if [ -r /etc/default/$NAME ] +then + . /etc/default/$NAME +fi + +case "$DCMQRSCP_ENABLE" in + [Nn]*) + exit 0 + ;; +esac + + +# +# Function that starts the daemon/service. +# +d_start() { + start-stop-daemon --start --quiet --background \ + --make-pidfile --pidfile $PIDFILE \ + --exec $DAEMON -- +ac -c $DCMQRSCP_CFG +} + +# +# Function that stops the daemon/service. +# +d_stop() { + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --name $NAME +} + +case "$1" in + start) + echo -n "Starting $DESC: $NAME" + d_start + echo "." + ;; + stop) + echo -n "Stopping $DESC: $NAME" + d_stop + echo "." + ;; + reload) + exit 0 + ;; + restart|force-reload) + echo -n "Restarting $DESC: $NAME" + d_stop + sleep 1 + d_start + echo "." + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/dcmtk-doc.doc-base b/dcmtk-doc.doc-base new file mode 100644 index 00000000..eb33f9e6 --- /dev/null +++ b/dcmtk-doc.doc-base @@ -0,0 +1,12 @@ +Document: dcmtk-doc +Title: Documentation of DCMTK +Author: OFFIS DICOM Team +Abstract: This manual comprises the complete on-line documentation for the + DICOM ToolKit (DCMTK) packages. It covers the end user applications as well + as the development library interfaces including a wide variety of coding + examples. +Section: Science/Medicine + +Format: HTML +Index: /usr/share/doc/dcmtk/dcmtk/html/index.html +Files: /usr/share/doc/dcmtk/dcmtk/html/* diff --git a/dcmtk-doc.docs b/dcmtk-doc.docs new file mode 100644 index 00000000..470bae5f --- /dev/null +++ b/dcmtk-doc.docs @@ -0,0 +1 @@ +usr/share/doc/dcmtk/ diff --git a/dcmtk.NEWS b/dcmtk.NEWS new file mode 100644 index 00000000..02975c66 --- /dev/null +++ b/dcmtk.NEWS @@ -0,0 +1,137 @@ +dcmtk (3.6.0-1) unstable; urgency=low + + Version 3.6.0 of the OFFIS DCMTK (DICOM ToolKit) software is now available for + public release. This release includes the following main changes over the + previous version 3.5.4: + + - DCMTK 3.6.0 now also builds correctly with GNU gcc 4.1 (and higher), Visual + Studio 2008 and 2010. + + - Tested with latest versions of the following operating systems/environments: + + - Linux on x86 and x86_64 + - FreeBSD on x86 and x86_64 + - MacOS X on x86_64 + - Windows on x86 and x86_64 + - Cygwin and MinGW/MSys on x86 + + For a complete list of tested systems and compilers, see the INSTALL file. + + - The CMake build system can now also be used with other operating systems than + Windows. However, GNU autoconf is still supported and should be preferred on + systems where the CMake project files fail. + + - New module oflog introduces a unified DCMTK-wide approach for logging based + on the log4cplus library. Direct output to console, file, syslog and event + log. All DCMTK command line tools now have the same set of logging options. + + - New module dcmjpls adds support for JPEG-LS compressed DICOM images based on + the CharLS library. The tools dcmcjpls and dcmdjpls allow for compressing + and decompressing DICOM images with JPEG-LS from the command line. + + - New tool img2dcm allows for converting JPEG and BMP images to various DICOM + image IODs, e.g. old and new Secondary Capture, Visible Light Photographic. + The underlying C++ class library can also be used separately. + + - New tool dcm2pdf allows for extracting PDF files from DICOM Encapsulated PDF + Storage SOP instances. + + - New tool dcml2pnm allows for converting JPEG-LS compressed DICOM images to + standard image formats like TIFF or BMP. + + - The tools dcmdump and storescu have new options for searching directories + recursively for DICOM files. + + - The tool dcmdump now also has a colored output of the textual dump. So far, + this option is available on non-Windows systems only (uses ANSI escape code). + + - The tool dcmodify now also supports reading the value of insert and modify + statements from a file. This is especially useful for large element values. + + - The tool dsr2html now also supports the output in HTML 4.01 and XHTML 1.1 + format. There are also new options that affect the rendering result. + + - The tool dump2dcm now also supports compressed pixel data. In addition, + the memory requirements for very large data elements have been reduced. + + - The tool xml2dcm can now also read binary data (e.g. pixel data) from a + separate file. The corresponding feature is not yet available in dcm2xml. + + - The tool storescp now has a new option that allows for accepting all + supported transfer syntaxes on a single association. + + - The tool wlmscpfs now supports multi-process mode both on Posix and Windows + platforms where a new child process is created for each incoming association. + + - Refactored code of the tool findscu into a C++ class. This facilitates + re-use of the findscu code in other applications. + + - Added further "switches" to the dcmdata module which allow one to better cope + with incorrectly encoded DICOM files or datasets. These switches are also + available as new options to the tools dcmdump and dcmconv. + + - The dcmdata module now also gives access to partial attribute values without + loading the complete attribute value into memory, if kept in file. + + - The write methods in dcmdata now handle large raw data elements without + loading everything into memory. This allows very large images to be sent + over a network connection or to be copied without ever being fully in memory. + + - The dcmdata module now has a common interface for the frame-wise access to + compressed and uncompressed pixel data without ever loading the complete + object into main memory. + + - The dcmimgle/dcmimage module makes use of the new partial access to pixel + data for processing large multi-frame images in a stepwise manner. + + - The dcmimgle/dcmimage module and related tools now also support a new + bilinear and a bicubic scaling algorithm for image magnification. + Furthermore, the sigmoid VOI LUT function has been implemented. + + - Added support for Colon CAD SR, Spectacle Prescription Report, Macular Grid + Thickness and Volume Report as well as Implantation Plan SR documents to the + dcmsr module. + + - Incorporated fixes to dcmsr module which were introduced by various + correction proposals. Added support for the new optional Preliminary Flag. + + - DICOMDIR tools and classes now support all new SOP classes and directory + record types. Also added a new operating mode that allows for updating + existing entries in a DICOMDIR. + + - Introduced general path syntax for accessing nested elements from command + line tools like findscu or dcmodify. + + - Added methods for checking the value representation (VR) and value + multiplicity (VM) of data elements for conformance with the DICOM standard. + + - Network tools now support transmission and receipt of JPEG-LS and MPEG2 + transfer syntaxes. + + - Added support for the extended negotiation of user identity to the dcmnet + module. The first tool that makes use of this new feature is storescu. + + - Introduced new experimental SCU and SCP classes that act as a C++ wrapper to + the still C-based dcmnet module. + + - Added new class OFFile that provides a simple encapsulation layer for file + based stream I/O and, in particular, provides large file support (LFS) if + available on the underlying operating system/platform through a single API. + + - Out of the box compilation with OpenSSL 1.0.0 is now supported. + + - Revised installation directory scheme in order to be more compliant with the + Filesystem Hierarchy Standard (FHS) and derived file system standards. + + - Added data dictionary including private ASTM tags from DICONDE (Digital + Imaging and Communication in Nondestructive Evaluation) standard. + + - The DICOM data dictionary as well as the list of SOP classes and transfer + syntaxes have been re-worked based on the latest edition of the DICOM + standard plus all additionally approved supplements and correction proposals + (as of 2010-11-30). Please note that there have been minor name changes! + + - Many bug fixes and minor improvements as usual - see the more than 12,000 + lines long CHANGES.360 file for more details. + + -- Mathieu Malaterre Tue, 08 Feb 2011 19:14:53 +0100 diff --git a/dcmtk.README.Debian b/dcmtk.README.Debian new file mode 100644 index 00000000..d0113f0d --- /dev/null +++ b/dcmtk.README.Debian @@ -0,0 +1,150 @@ +DCMTK - The OFFIS DICOM ToolKit for Debian +========================================== + +General notes: + +DCMTK is a collection of libraries and applications implementing large +parts the DICOM standard. It includes software for examining, +constructing and converting DICOM image files, handling offline media, +sending and receiving images over a network connection, as well as +demonstrative image storage and worklist servers. DCMTK is written +in a mixture of ANSI C and C++. It comes in complete source code and +is made available as "open source" software under BSD like license +terms. For additional information about DCMTK have a look at the +OFFIS web page: + + http://dicom.offis.de/dcmtk.php.en + +DCMTK has been used at numerous DICOM demonstrations to provide +central, vendor-independent image storage and worklist servers (CTNs - +Central Test Nodes). It is used by hospitals and companies all over +the world for a wide variety of purposes ranging from being a tool for +product testing to being a building block for research projects, +prototypes and commercial products. + +DCMTK optionally supports some of the DICOM security extensions and +relies on the free OpenSSL toolkit for the underlying cryptographic +routines and the TLS protocol implementation. The Debian DCMTK package +has been built with OpenSSL support enabled. + +More information about using the DCMTK network applications for secure +DICOM communication can be found in + + /usr/share/docs/dcmtk/ciphers.txt + /usr/share/docs/dcmtk/randseed.txt + +DCMTK optionally supports Wietse Venema's TCP wrappers library +(libwrap) which is freely available for most Unix platforms and part +of the default installation of most recent Linux distributions. This +library allows one to enforce host-based access control via the +"/etc/hosts_deny" and "/etc/hosts_allow" configuration files. The +Debian DCMTK package has been compiled with TCP wrapper support +enabled. See hosts_access(5) man page for details. + +You can use the dcmnet applications for testing DICOM connectivity. A +brief description can be found in + + /usr/share/docs/dcmtk/testing.txt + + +The DCMTK dcmqrscp application implements a DICOM image +storage/query/retrieve SCP which has been designed primarily as an +independent framework for cooperative tests and demonstrations of +DICOM connectivity by medical imaging vendors. If you want to set up +dcmqrdb as a DICOM image storage server please read both the dcmqrscp +manual pages and the supplemental documentation in + + /usr/share/doc/dcmtk/dcmqrcnf.txt + /usr/share/doc/dcmtk/dcmqrset.txt + +The dcmqrscp application can be invoked as a daemon process at boot +time by setting DCMQRSCP_ENABLE=Yes in /etc/defaults/dcmqrscp. You will +have to adjust the system wide configuration file +/etc/dcmtk/dcmqrscp.cfg to suit your needs. This configuration file +provides optional UserName/GroupName keywords in the "Global +Parameter" section (see note in dcmqrcnf.txt). Running dcmqrscp with +root privileges is strongly discouraged. A dedicated system +user/group dcmtk/dcmtk is automatically added during the installation +of the Debian DCMTK package. It is important to note that dcmqrscp is +primarily intended to be used as a demonstration server rather than a +real "PACS replacement". Scalability is quite limited, both in terms +of number of images/studies and in number of parallel clients. If you +want to set up a real large database, you might be better off in using +an SQL based archive (such as the Mallinckrodt CTN). + + +DCMTK supports the Modality Worklist Management SOP Class as a SCP, which +allows modalities to query and retrieve worklist information from hospital +information systems. An example worklist database along with a set of +example queries can be found in + + /usr/share/doc/dcmtk/examples/wlistdb + +and + + /usr/share/doc/dcmtk/examples/wlistqry. + +Here is a brief instruction about how to make this work (based on a post +of Thomas Wilkens in comp.protocols.dicom): + +1. Use dump2dcm to convert all "*.dump" files in examples/wlistdb/OFFIS +to "*.wl" files (DICOM format): + + $ for f in *.dump; do dump2dcm "$f" "${f%.dump}".wl; done + +Note that these files have to have the extension "*.wl", otherwise wlmscpfs +will not find these files. These files represent your worklist database. +2. Use dump2dcm to convert all "*.dump" files in examples/wlistqry to +"*.dcm" files (DICOM format): + + $ for f in *.dump; do dump2dcm "$f" "${f%.dump}".dcm; done + +These files represent possible queries that can be used to query the worklist +database. +3. In one shell run the following command to start the worklist management SCP: + + $ wlmscpfs -v -dfp examples/wlistdb 1234 + +4. In another shell run the following command to send a certain query to the +WLM SCP: + + $ findscu -v --call OFFIS localhost 1234 examples/wlistqry/wlistqry0.dcm + +Step 3 will start the worklist management SCP which will listen on port 1234 +for incoming C-FIND RQ messages. The "-dfp examples/wlistdb" option +specifies that the worklist database can be found in folder "examples/wlistdb". +Note that the worklist database can be organized in different storage areas. +Subfolder "OFFIS" below "examples/wlistdb" is one (the only one in this case) +storage area. In an incoming C-FIND RQ, an SCU has to tell wlmscpfs which +storage area shall be queried; this is done by sending a certain "called AE title" +to wlmscpfs. + +Step 4 will send the query in file "examples/wlistqry/wlistqry0.dcm" +using a C-FIND-RQ message to the wlmscpfs application (which is running on +"localhost" and listening on port "1234"). Option "--call OFFIS" specifies +that the called AE title is "OFFIS" which in turn tells the wlmscpfs +application to query the storage area "OFFIS" in its worklist database. + +The two programs should then dump information that shows their internal +processings (C-FIND RQ - C-FIND RSP). You can also use a different query +file in folder "examples/wlistqry" for querying the worklist database. + +As the wlmscpfs is not a hospital information system, worklist entries +must be created, updated and deleted manually. The Debian dcmtk-www +package contains a cgi-based WWW server application which provides an easy +to use web interface for managing worklist entries from any workstation +in the network. More information about the DCMTK worklist web interface can +be found in + + /usr/share/doc/dcmtk-www/wwwapp.txt + + +For more information please visit the DCMTK homepage and the user forum at + + http://dicom.offis.de/dcmtk.php.en + +and + + http://forum.dcmtk.org/ + + -- Mathieu Malaterre Wed, 15 May 2013 10:34:58 +0200 diff --git a/dcmtk.dirs b/dcmtk.dirs new file mode 100644 index 00000000..716b8d83 --- /dev/null +++ b/dcmtk.dirs @@ -0,0 +1 @@ +/var/lib/dcmtk/db diff --git a/dcmtk.docs b/dcmtk.docs new file mode 100644 index 00000000..ccf9d946 --- /dev/null +++ b/dcmtk.docs @@ -0,0 +1,3 @@ +FAQ +README +debian/NEWS diff --git a/dcmtk.examples b/dcmtk.examples new file mode 100644 index 00000000..2c44e66e --- /dev/null +++ b/dcmtk.examples @@ -0,0 +1,2 @@ +debian/tmp/usr/share/dcmtk/wlistdb +debian/tmp/usr/share/dcmtk/wlistqry diff --git a/dcmtk.install b/dcmtk.install new file mode 100644 index 00000000..0756ca68 --- /dev/null +++ b/dcmtk.install @@ -0,0 +1,5 @@ +usr/bin/* +etc/dcmtk/* +usr/share/dcmtk/*.css +usr/share/dcmtk/*.lut +usr/share/dcmtk/dsr2xml.xsd diff --git a/dcmtk.manpages b/dcmtk.manpages new file mode 100644 index 00000000..5ed5bcf0 --- /dev/null +++ b/dcmtk.manpages @@ -0,0 +1 @@ +usr/share/man/man1/*.1 diff --git a/dcmtk.postinst b/dcmtk.postinst new file mode 100644 index 00000000..42a34251 --- /dev/null +++ b/dcmtk.postinst @@ -0,0 +1,69 @@ +#!/bin/sh + +set -e + +# Create dcmtk user and group + +if ! getent passwd dcmtk >/dev/null 2>&1; then + if ! getent group dcmtk > /dev/null 2>&1; then + echo "Adding \`dcmtk' group to system ..." + addgroup --quiet --system dcmtk || true + fi + echo "Adding \`dcmtk' user to system ..." + adduser --quiet --system --ingroup dcmtk --home /var/lib/dcmtk/db \ + --shell /bin/sh --disabled-password dcmtk || true +fi + +# work around possible adduser bug, see #119366 +[ -d /var/lib/dcmtk/db ] || mkdir -p /var/lib/dcmtk/db +chmod 755 /var/lib/dcmtk/db +chown -h dcmtk:dcmtk /var/lib/dcmtk/db || true + + +# Handle imagectn -> dcmqrdb transition in (3.5.3 -> 3.5.4) + + +LASTVERSION=3.5.3-5 + +case "$1" in +configure) + if dpkg --compare-versions "$2" le "$LASTVERSION"; then + + if [ -e "/etc/dcmtk/imagectn.cfg" ]; then + echo + echo "Configuration file /etc/dcmtk/imagectn.cfg has been modified by user." + echo "This file will be renamed to /etc/dcmtk/dcmqrscp.cfg." + echo "The package default version can be found in /etc/dcmtk/dcmqrscp.cfg.dpkg-new." + echo + mv -f /etc/dcmtk/dcmqrscp.cfg /etc/dcmtk/dcmqrscp.cfg.dpkg-new + mv -f /etc/dcmtk/imagectn.cfg /etc/dcmtk/dcmqrscp.cfg + fi + + if [ -e "/etc/default/imagectn" ]; then + echo "Configuration file /etc/default/imagectn has been modified by user." + echo "This file will be converted to and replaced by /etc/default/dcmqrscp." + echo "The user's old version can be found in /etc/default/imagectn.dpkg-old." + echo "The package default version can be found in /etc/default/dcmqrscp.dpkg-new." + echo + mv -f /etc/default/imagectn /etc/default/imagectn.dpkg-old + mv -f /etc/default/dcmqrscp /etc/default/dcmqrscp.dpkg-new + sed -e 's/IMAGECTN_ENABLE/DCMQRSCP_ENABLE/g' -e 's/imagectn/dcmqrscp/g' \ + /etc/default/dcmqrscp + fi + + if [ -e "/etc/init.d/imagectn" ]; then + echo "Configuration file /etc/init.d/imagectn has been modified by user." + echo "This file will be replaced by /etc/init.d/dcmqrscp." + echo "The user's old version can be found in /etc/init.d/imagectn.dpkg-old" + echo + mv -f /etc/init.d/imagectn /etc/init.d/imagectn.dpkg-old + fi + # Remove (dangling) symlinks in /etc/rcN.d + update-rc.d imagectn remove >/dev/null + fi +esac + + + +#DEBHELPER# + diff --git a/dcmtk.postrm b/dcmtk.postrm new file mode 100644 index 00000000..7365e3be --- /dev/null +++ b/dcmtk.postrm @@ -0,0 +1,19 @@ +#!/bin/sh + +set -e + +# Remove possible leftovers of imagectn -> dcmqrscp transition + +if [ "$1" = "purge" ] ; then + + if [ -e /etc/default/imagectn.dpkg-old ]; then + rm -f /etc/default/imagectn.dpkg-old + fi + + if [ -e /etc/init.d/imagectn.dpkg-old ]; then + rm -f /etc/init.d/imagectn.dpkg-old + fi +fi + +#DEBHELPER# + diff --git a/dcmtk.preinst b/dcmtk.preinst new file mode 100644 index 00000000..9f84376f --- /dev/null +++ b/dcmtk.preinst @@ -0,0 +1,40 @@ +#!/bin/sh + +set -e + +# Prepare to handle imagectn -> dcmqrdb (3.5.3 -> 3.5.4) transition +# without triggering a dpkg question +# # Adapted from http://wiki.debian.org/DpkgConffileHandling + +PKGNAME=dcmtk + +# Remove a no-longer used conffile +rm_conffile() { + CONFFILE="$1" + if [ -e "$CONFFILE" ]; then + md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`" + old_md5sum="`dpkg-query -W -f='${Conffiles}' $PKGNAME | sed -n -e \"\\\\' $CONFFILE '{s/ obsolete$//;s/.* //p}\"`" + if [ "$md5sum" != "$old_md5sum" ]; then + echo "Obsolete conffile $CONFFILE has been modified by you." + echo "Saving as $CONFFILE.dpkg-bak ..." + mv -f "$CONFFILE" "$CONFFILE".dpkg-bak + else + echo "Removing obsolete conffile $CONFFILE ..." + rm -f "$CONFFILE" + fi + fi +} + +LASTVERSION=3.5.3-5 + +case "$1" in +install|upgrade) + if dpkg --compare-versions "$2" le "$LASTVERSION"; then + rm_conffile "/etc/dcmtk/imagectn.cfg" + rm_conffile "/etc/default/imagectn" + rm_conffile "/etc/init.d/imagectn" + fi +esac + +#DEBHELPER# + diff --git a/dcmtk.prerm b/dcmtk.prerm new file mode 100644 index 00000000..15e7e018 --- /dev/null +++ b/dcmtk.prerm @@ -0,0 +1,23 @@ +#!/bin/sh +set -e + +# This is in case we upgrade from dcmtk version < 3.5.4 +if [ -x "/etc/init.d/imagectn" ]; then + if which invoke-rc.d ; then + invoke-rc.d --quiet imagectn stop + else + /etc/init.d/imagectn stop + fi +fi + +if [ -x "/etc/init.d/dcmqrscp" ]; then + if which invoke-rc.d ; then + invoke-rc.d --quiet dcmqrscp stop + else + /etc/init.d/dcmqrscp stop + fi +fi + +#DEBHELPER# + +exit 0 diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 00000000..af46c8f6 --- /dev/null +++ b/gbp.conf @@ -0,0 +1,3 @@ +[DEFAULT] +pristine-tar = True + diff --git a/libdcmtk-dev.install b/libdcmtk-dev.install new file mode 100644 index 00000000..c1c1eecf --- /dev/null +++ b/libdcmtk-dev.install @@ -0,0 +1,4 @@ +usr/include/dcmtk/* +usr/lib/*/*.so +usr/lib/*/cmake/ + diff --git a/libdcmtk15.install b/libdcmtk15.install new file mode 100644 index 00000000..bccca43b --- /dev/null +++ b/libdcmtk15.install @@ -0,0 +1,2 @@ +usr/lib/*/*.so.* +usr/share/libdcmtk15/*.dic diff --git a/libdcmtk15.lintian-overrides b/libdcmtk15.lintian-overrides new file mode 100644 index 00000000..2f786a00 --- /dev/null +++ b/libdcmtk15.lintian-overrides @@ -0,0 +1,6 @@ +# There is more than one library in one package bundles which makes perfectly +# sense in this application but does not enable naming the library package apropriately +libdcmtk15: package-name-doesnt-match-sonames +libdcmtk15: embedded-library +libdcmtk15: no-symbols-control-file +libdcmtk15: lacks-unversioned-link-to-shared-library diff --git a/patches/01_dcmtk_3.6.0-1.patch b/patches/01_dcmtk_3.6.0-1.patch new file mode 100644 index 00000000..ec40c2b3 --- /dev/null +++ b/patches/01_dcmtk_3.6.0-1.patch @@ -0,0 +1,81 @@ +Author: Jürgen Salk +Description: The original maintainer Jürgen Salk applied + a set of patches to the original code. This file contains + changes to C++ code +Forwarded: no + +--- a/dcmqrdb/etc/dcmqrscp.cfg ++++ b/dcmqrdb/etc/dcmqrscp.cfg +@@ -21,8 +21,8 @@ + # SpecificCharacterSet = "ISO_IR 192", override, discard, transliterate + + # +-# UserName = +-# GroupName = ++UserName = dcmtk ++GroupName = dcmtk + + HostTable BEGIN + # +@@ -38,12 +38,13 @@ + # NOTE: in the current implementation you cannot substitute an IP address + # for a hostname. + # +-acme1 = (ACME1, acmehost1, 5678) +-acme2 = (ACME2, acmehost2, 5678) +-acmeCTcompany = acme1, acme2 +-united1 = (UNITED1, unitedhost1, 104) +-united2 = (UNITED2, unitedhost2, 104) +-unitedMRcompany = united1, united2 ++# Example: ++#acme1 = (ACME1, acmehost1, 5678) ++#acme2 = (ACME2, acmehost2, 5678) ++#acmeCTcompany = acme1, acme2 ++#united1 = (UNITED1, unitedhost1, 104) ++#united2 = (UNITED2, unitedhost2, 104) ++#unitedMRcompany = united1, united2 + # + HostTable END + +@@ -61,8 +62,9 @@ + # VendorName = SymbolicName + # The symbolic name should be defined in the HostTable. + # +-"Acme CT Company" = acmeCTcompany +-"United MR Company" = unitedMRcompany ++# Example: ++#"Acme CT Company" = acmeCTcompany ++#"United MR Company" = unitedMRcompany + # + VendorTable END + +@@ -80,8 +82,13 @@ + # Entry in HostTable | + # ANY + # +-COMMON /home/dicom/db/COMMON R (200, 1024mb) ANY +-ACME_STORE /home/dicom/db/ACME_STORE RW (9, 1024mb) acmeCTcompany +-UNITED_STORE /home/dicom/db/UNITED_STORE RW (9, 1024mb) unitedMRcompany ++# Example: ++# ++#ACME_STORE /var/lib/dcmtk/db/ACME_STORE RW (9, 1024mb) acmeCTcompany ++#UNITED_STORE /var/lib/dcmtk/db/UNITED_STORE RW (9, 1024mb) unitedMRcompany ++# ++# Uncomment and adjust the following lines for a common r/rw storage area: ++#READWRITE /var/lib/dcmtk/db/READWRITE RW (10, 1024mb) ANY ++#READ /var/lib/dcmtk/db/READ R (200, 1024mb) ANY + # + AETable END +--- a/dcmqrdb/docs/dcmqrcnf.txt ++++ b/dcmqrdb/docs/dcmqrcnf.txt +@@ -46,8 +46,8 @@ + MaxPDUSize = 8192 + MaxAssociations = 20 + SpecificCharacterSet = fallback +-UserName = (do not change user) +-GroupName = (do not change group) ++UserName = dcmtk ++GroupName = dcmtk + + Available options for specific character sets are: + diff --git a/patches/02_system_charls.patch b/patches/02_system_charls.patch new file mode 100644 index 00000000..f38c522c --- /dev/null +++ b/patches/02_system_charls.patch @@ -0,0 +1,82 @@ +Description: Remove convenient copy of CharLS +Bug-Debian: https://bugs.debian.org/705923 +Forwarded: no +Author: Mathieu Malaterre +--- a/dcmjpls/CMakeLists.txt ++++ b/dcmjpls/CMakeLists.txt +@@ -2,6 +2,6 @@ + project(dcmjpls) + + # recurse into subdirectories +-foreach(SUBDIR libsrc libcharls apps include) ++foreach(SUBDIR libsrc apps include) + add_subdirectory(${SUBDIR}) + endforeach() +--- a/dcmjpls/libsrc/djerror.h ++++ b/dcmjpls/libsrc/djerror.h +@@ -24,7 +24,7 @@ + + #include "dcmtk/config/osconfig.h" + #include "dcmtk/dcmjpls/djlsutil.h" /* For the OFCondition codes */ +-#include "intrface.h" /* CharLS include */ ++#include "CharLS/interface.h" /* CharLS include */ + + /** Helper class for converting between dcmjpls and CharLS error codes + */ +--- a/dcmjpls/libsrc/djcodecd.cc ++++ b/dcmjpls/libsrc/djcodecd.cc +@@ -37,7 +37,7 @@ + #include "djerror.h" /* for private class DJLSError */ + + // JPEG-LS library (CharLS) includes +-#include "intrface.h" ++#include "CharLS/interface.h" + + E_TransferSyntax DJLSLosslessDecoder::supportedTransferSyntax() const + { +--- a/dcmjpls/libsrc/djcodece.cc ++++ b/dcmjpls/libsrc/djcodece.cc +@@ -55,7 +55,7 @@ + #include "dcmtk/dcmimgle/dcmimage.h" /* for class DicomImage */ + + // JPEG-LS library (CharLS) includes +-#include "intrface.h" ++#include "CharLS/interface.h" + + BEGIN_EXTERN_C + #ifdef HAVE_FCNTL_H +@@ -664,7 +664,7 @@ + + size_t bytesWritten = 0; + +- JLS_ERROR err = JpegLsEncode(&buffer, &size, &bytesWritten, framePointer, frameSize, &jls_params); ++ JLS_ERROR err = JpegLsEncode(&buffer, size, &bytesWritten, framePointer, frameSize, &jls_params); + result = DJLSError::convert(err); + + if (result.good()) +@@ -1071,7 +1071,7 @@ + + size_t bytesWritten = 0; + +- JLS_ERROR err = JpegLsEncode(&compressed_buffer, &compressed_buffer_size, &bytesWritten, framePointer, buffer_size, &jls_params); ++ JLS_ERROR err = JpegLsEncode(&compressed_buffer, compressed_buffer_size, &bytesWritten, framePointer, buffer_size, &jls_params); + result = DJLSError::convert(err); + + if (result.good()) +--- a/dcmjpls/apps/CMakeLists.txt ++++ b/dcmjpls/apps/CMakeLists.txt +@@ -8,5 +8,5 @@ + + # make sure executables are linked to the corresponding libraries + foreach(PROGRAM dcmcjpls dcmdjpls dcml2pnm) +- DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmjpls charls dcmimage dcmimgle dcmdata oflog ofstd ofstd) ++ DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmjpls CharLS dcmimage dcmimgle dcmdata oflog ofstd ofstd) + endforeach() +--- a/dcmjpls/libsrc/CMakeLists.txt ++++ b/dcmjpls/libsrc/CMakeLists.txt +@@ -4,4 +4,4 @@ + # create library from source files + DCMTK_ADD_LIBRARY(dcmjpls djcparam djdecode djencode djrparam djcodecd djutils djcodece) + +-DCMTK_TARGET_LINK_MODULES(dcmjpls ofstd oflog dcmdata dcmimgle dcmimage charls) ++DCMTK_TARGET_LINK_MODULES(dcmjpls ofstd oflog dcmdata dcmimgle dcmimage CharLS) diff --git a/patches/03_datadic_install.patch b/patches/03_datadic_install.patch new file mode 100644 index 00000000..9d1ee100 --- /dev/null +++ b/patches/03_datadic_install.patch @@ -0,0 +1,61 @@ +Description: Install dict to versioned dir +Bug-Debian: https://bugs.debian.org/709123 +Forwarded: no +Author: Mathieu Malaterre +--- a/CMake/GenerateDCMTKConfigure.cmake ++++ b/CMake/GenerateDCMTKConfigure.cmake +@@ -114,15 +114,7 @@ + #endif() + + # Configure file +- +-# Windows being windows, it lies about its processor type to 32 bit binaries +-set(SYSTEM_PROCESSOR "$ENV{PROCESSOR_ARCHITEW6432}") +-if(NOT SYSTEM_PROCESSOR) +- set(SYSTEM_PROCESSOR "${CMAKE_SYSTEM_PROCESSOR}") +-endif() +-# CMake doesn't provide a configure-style system type string +-set(CANONICAL_HOST_TYPE "${SYSTEM_PROCESSOR}-${CMAKE_SYSTEM_NAME}") +-DCMTK_UNSET(SYSTEM_PROCESSOR) ++set(CANONICAL_HOST_TYPE "Debian") + + # Configure dictionary path and install prefix + if(WIN32 AND NOT CYGWIN) +@@ -134,10 +126,10 @@ + set(ENVIRONMENT_PATH_SEPARATOR ";") + # Set dictionary path to the data dir inside install main dir (prefix) + if(DCMTK_ENABLE_EXTERNAL_DICTIONARY) +- set(DCM_DICT_DEFAULT_PATH "${DCMTK_PREFIX}\\\\${CMAKE_INSTALL_DATADIR}\\\\dcmtk\\\\dicom.dic") ++ set(DCM_DICT_DEFAULT_PATH "${DCMTK_PREFIX}\\\\${CMAKE_INSTALL_DATADIC}\\\\dicom.dic") + # If private dictionary should be utilized, add it to default dictionary path. + if(ENABLE_PRIVATE_TAGS) +- set(DCM_DICT_DEFAULT_PATH "${DCM_DICT_DEFAULT_PATH};${DCMTK_PREFIX}\\\\${CMAKE_INSTALL_DATADIR}\\\\dcmtk\\\\private.dic") ++ set(DCM_DICT_DEFAULT_PATH "${DCM_DICT_DEFAULT_PATH};${DCMTK_PREFIX}\\\\${CMAKE_INSTALL_DATADIC}\\\\private.dic") + endif() + # Again, for Windows strip all / from path and replace it with \\. + string(REGEX REPLACE "/" "\\\\\\\\" DCM_DICT_DEFAULT_PATH "${DCM_DICT_DEFAULT_PATH}") +@@ -155,10 +147,10 @@ + set(ENVIRONMENT_PATH_SEPARATOR ":") + # Set dictionary path to the data dir inside install main dir (prefix). + if(DCMTK_ENABLE_EXTERNAL_DICTIONARY) +- set(DCM_DICT_DEFAULT_PATH "${DCMTK_PREFIX}/${CMAKE_INSTALL_DATADIR}/dcmtk/dicom.dic") ++ set(DCM_DICT_DEFAULT_PATH "${DCMTK_PREFIX}/${CMAKE_INSTALL_DATADIC}/dicom.dic") + # If private dictionary should be utilized, add it to default dictionary path. + if(ENABLE_PRIVATE_TAGS) +- set(DCM_DICT_DEFAULT_PATH "${DCM_DICT_DEFAULT_PATH}:${DCMTK_PREFIX}/${CMAKE_INSTALL_DATADIR}/dcmtk/private.dic") ++ set(DCM_DICT_DEFAULT_PATH "${DCM_DICT_DEFAULT_PATH}:${DCMTK_PREFIX}/${CMAKE_INSTALL_DATADIC}/private.dic") + endif() + else() + set(DCM_DICT_DEFAULT_PATH "") +--- a/dcmdata/data/CMakeLists.txt ++++ b/dcmdata/data/CMakeLists.txt +@@ -1,5 +1,8 @@ + # declare installation files +-install(FILES dicom.dic acrnema.dic private.dic diconde.dic dcm2xml.dtd dumppat.txt SC.dump VLP.dump DESTINATION "${CMAKE_INSTALL_DATADIR}/dcmtk" COMPONENT data) ++set(DCMTK_INSTALL_DATDIR "share/libdcmtk${DCMTK_ABI_VERSION}") ++ ++install(FILES dcm2xml.dtd dumppat.txt SC.dump VLP.dump DESTINATION ${CMAKE_INSTALL_DATADIR} COMPONENT data) ++install(FILES dicom.dic acrnema.dic private.dic diconde.dic DESTINATION ${CMAKE_INSTALL_DATADIC} COMPONENT data) + + # add paths to the dictionaries to a CMake variable for being used by the unit tests + set(DCMTK_DICOM_DICTIONARIES diff --git a/patches/04_Fixed-OFoptional-by-introducing-OFalign.patch b/patches/04_Fixed-OFoptional-by-introducing-OFalign.patch new file mode 100644 index 00000000..7d7ae7f8 --- /dev/null +++ b/patches/04_Fixed-OFoptional-by-introducing-OFalign.patch @@ -0,0 +1,147 @@ +From 21142a1d3354b5d4e97a2e160221ae391362e8c1 Mon Sep 17 00:00:00 2001 +From: Jan Schlamelcher +Date: Fri, 4 Jul 2014 12:02:51 +0200 +Subject: [PATCH] Fixed OFoptional by introducing OFalign? +--- a/CMake/osconfig.h.in ++++ b/CMake/osconfig.h.in +@@ -1223,4 +1223,7 @@ + /* Define if the input iterator category is supported */ + #cmakedefine HAVE_CONTIGUOUS_ITERATOR_CATEGORY @HAVE_CONTIGUOUS_ITERATOR_CATEGORY@ + ++/* Define if the compiler supports __declspec(align) */ ++#cmakedefine HAVE_DECLSPEC_ALIGN ++ + #endif /* !OSCONFIG_H*/ +--- a/config/aclocal.m4 ++++ b/config/aclocal.m4 +@@ -1985,6 +1985,47 @@ + fi + ]) + ++AC_DEFUN([AC_CHECK_ALIGNOF], ++[ ++ AC_MSG_CHECKING([for __alignof__]) ++ AC_LINK_IFELSE( ++ [ ++ AC_LANG_SOURCE( ++ [ ++ int main(){char c[__alignof__(int)];return 0;} ++ ]) ++ ], ++ [dcmtk_have_alignof=[yes]], ++ [dcmtk_have_alignof=[no]] ++ ) ++ if test "$dcmtk_have_alignof" = yes; then ++ AC_MSG_RESULT([yes]) ++ AC_DEFINE($1,[1],[Define if __alignof__ is available]) ++ else ++ AC_MSG_RESULT([no]) ++ fi ++]) ++ ++AC_DEFUN([AC_CHECK_ATTRIBUTE_ALIGNED], ++[ ++ AC_MSG_CHECKING([for __attribute__((aligned))]) ++ AC_LINK_IFELSE( ++ [ ++ AC_LANG_SOURCE( ++ [ ++ int main(){__attribute__((aligned(4))) char c[16];return 0;} ++ ]) ++ ], ++ [dcmtk_have_attribute_aligned=[yes]], ++ [dcmtk_have_attribute_aligned=[no]] ++ ) ++ if test "$dcmtk_have_attribute_aligned" = yes; then ++ AC_MSG_RESULT([yes]) ++ AC_DEFINE($1,[1],[Define if __attribute__((aligned)) is available]) ++ else ++ AC_MSG_RESULT([no]) ++ fi ++]) + + dnl + dnl This macro checks if a given preprocessor symbol exists and is a string +--- a/config/configure ++++ b/config/configure +@@ -17103,6 +17103,66 @@ + + + ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __alignof__" >&5 ++$as_echo_n "checking for __alignof__... " >&6; } ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++ ++ int main(){char c__alignof__(int);return 0;} ++ ++ ++_ACEOF ++if ac_fn_cxx_try_link "$LINENO"; then : ++ dcmtk_have_alignof=yes ++else ++ dcmtk_have_alignof=no ++ ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++ if test "$dcmtk_have_alignof" = yes; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++ ++$as_echo "#define HAVE_GNU_ALIGNOF 1" >>confdefs.h ++ ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++ fi ++ ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((aligned))" >&5 ++$as_echo_n "checking for __attribute__((aligned))... " >&6; } ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++ ++ int main(){__attribute__((aligned(4))) char c16;return 0;} ++ ++ ++_ACEOF ++if ac_fn_cxx_try_link "$LINENO"; then : ++ dcmtk_have_attribute_aligned=yes ++else ++ dcmtk_have_attribute_aligned=no ++ ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++ if test "$dcmtk_have_attribute_aligned" = yes; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++ ++$as_echo "#define HAVE_ATTRIBUTE_ALIGNED 1" >>confdefs.h ++ ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++ fi ++ ++ + CFLAGS="$DEBUGCFLAGS $CFLAGS" + CXXFLAGS="$DEBUGCXXFLAGS $CXXFLAGS" + +--- a/ofstd/tests/toption.cc ++++ b/ofstd/tests/toption.cc +@@ -38,6 +38,11 @@ + + OFoptional o0( 3 ), o1, o2( OFnullopt ); + ++ COUT << OFalignof(OFoptional) << ' ' << sizeof(OFoptional) << OFendl; ++ COUT << OFalignof(OFoptional) << ' ' << sizeof(OFoptional) << OFendl; ++ COUT << OFalignof(OFoptional) << ' ' << sizeof(OFoptional) << OFendl; ++ COUT << OFalignof(long) << ' ' << sizeof(long) << ' ' << OFalignof(OFoptional) << ' ' << sizeof(OFoptional) << OFendl; ++ + OFCHECK( o0 && *o0 == 3 ); + + OFCHECK( !o1 && !o2 ); diff --git a/patches/05_performance.patch b/patches/05_performance.patch new file mode 100644 index 00000000..218b95c8 --- /dev/null +++ b/patches/05_performance.patch @@ -0,0 +1,27 @@ +Description: Fix a DCMTK performance problem + Forwarded-Upstream: yes +Bug-Debian: https://bugs.debian.org/785400 +Author: Sebastien Jodogne +Last-Update: Fri, 15 May 2015 16:39:01 UTC +--- a/dcmnet/libsrc/dul.cc ++++ b/dcmnet/libsrc/dul.cc +@@ -1913,7 +1913,7 @@ + msg += OFStandard::getLastNetworkErrorCode().message(); + return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str()); + } +- setTCPBufferLength(sock); ++ //setTCPBufferLength(sock); + + /* + * Disable the so-called Nagle algorithm (if requested). +--- a/dcmnet/libsrc/dulfsm.cc ++++ b/dcmnet/libsrc/dulfsm.cc +@@ -2476,7 +2476,7 @@ + msg += OFStandard::getLastNetworkErrorCode().message(); + return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str()); + } +- setTCPBufferLength(s); ++ //setTCPBufferLength(s); + + /* + * Disable the so-called Nagle algorithm (if requested). diff --git a/patches/07_dont_export_all_executables.patch b/patches/07_dont_export_all_executables.patch new file mode 100644 index 00000000..f15623b2 --- /dev/null +++ b/patches/07_dont_export_all_executables.patch @@ -0,0 +1,24 @@ +Description: Don't add executables to cmake exports + CMake exports are used by other packages that compile + and link against dcmtk. Because Debian moves some of + these executables and also dosn't install the test + executables, this import may fail leading to failure + to configure the according package. +Bug-Debian: https://bugs.debian.org/803304 +Author: Gert Wollny +--- a/CMake/dcmtkMacros.cmake ++++ b/CMake/dcmtkMacros.cmake +@@ -60,11 +60,11 @@ + endif() + + # Collect executable as part of global DCMTK_EXECUTABLE_TARGETS property +- set_property(GLOBAL APPEND PROPERTY DCMTK_EXECUTABLE_TARGETS ${PROGRAM}) ++ #set_property(GLOBAL APPEND PROPERTY DCMTK_EXECUTABLE_TARGETS ${PROGRAM}) + + # declare installation files, also export DCMTKTargets.cmake + install(TARGETS ${PROGRAM} +- EXPORT DCMTKTargets ++ # EXPORT DCMTKTargets + COMPONENT bin + DESTINATION ${CMAKE_INSTALL_BINDIR}) + endif() diff --git a/patches/09_charls-2.0.patch b/patches/09_charls-2.0.patch new file mode 100644 index 00000000..384a17ff --- /dev/null +++ b/patches/09_charls-2.0.patch @@ -0,0 +1,326 @@ +Description: Fix build with charls-2.0 +Author: Gert Wollny + +diff -ru dcmtk/dcmjpls/libsrc/djcodecd.cc dcmtk-3.6.4.new/dcmjpls/libsrc/djcodecd.cc +--- dcmtk/dcmjpls/libsrc/djcodecd.cc 2019-01-12 16:13:14.012002607 +0100 ++++ dcmtk-3.6.4.new/dcmjpls/libsrc/djcodecd.cc 2019-01-12 15:48:40.936001789 +0100 +@@ -37,7 +37,7 @@ + #include "djerror.h" /* for private class DJLSError */ + + // JPEG-LS library (CharLS) includes +-#include "CharLS/interface.h" ++#include "CharLS/charls.h" + + E_TransferSyntax DJLSLosslessDecoder::supportedTransferSyntax() const + { +@@ -382,9 +382,8 @@ + if (result.good()) + { + JlsParameters params; +- JLS_ERROR err; + +- err = JpegLsReadHeader(jlsData, compressedSize, ¶ms); ++ auto err = JpegLsReadHeader(jlsData, compressedSize, ¶ms, NULL); + result = DJLSError::convert(err); + + if (result.good()) +@@ -392,8 +391,8 @@ + if (params.width != imageColumns) result = EC_JLSImageDataMismatch; + else if (params.height != imageRows) result = EC_JLSImageDataMismatch; + else if (params.components != imageSamplesPerPixel) result = EC_JLSImageDataMismatch; +- else if ((bytesPerSample == 1) && (params.bitspersample > 8)) result = EC_JLSImageDataMismatch; +- else if ((bytesPerSample == 2) && (params.bitspersample <= 8)) result = EC_JLSImageDataMismatch; ++ else if ((bytesPerSample == 1) && (params.bitsPerSample > 8)) result = EC_JLSImageDataMismatch; ++ else if ((bytesPerSample == 2) && (params.bitsPerSample <= 8)) result = EC_JLSImageDataMismatch; + } + + if (!result.good()) +@@ -402,13 +401,13 @@ + } + else + { +- err = JpegLsDecode(buffer, bufSize, jlsData, compressedSize, ¶ms); ++ err = JpegLsDecode(buffer, bufSize, jlsData, compressedSize, ¶ms, NULL); + result = DJLSError::convert(err); + delete[] jlsData; + + if (result.good() && imageSamplesPerPixel == 3) + { +- if (imagePlanarConfiguration == 1 && params.ilv != ILV_NONE) ++ if (imagePlanarConfiguration == 1 && params.interleaveMode != charls::InterleaveMode::None) + { + // The dataset says this should be planarConfiguration == 1, but + // it isn't -> convert it. +@@ -418,7 +417,8 @@ + else + result = createPlanarConfiguration1Word(OFreinterpret_cast(Uint16*, buffer), imageColumns, imageRows); + } +- else if (imagePlanarConfiguration == 0 && params.ilv != ILV_SAMPLE && params.ilv != ILV_LINE) ++ else if (imagePlanarConfiguration == 0 && params.interleaveMode != charls::InterleaveMode::Sample && ++ params.interleaveMode != charls::InterleaveMode::Line) + { + // The dataset says this should be planarConfiguration == 0, but + // it isn't -> convert it. +diff -ru dcmtk/dcmjpls/libsrc/djcodece.cc dcmtk-3.6.4.new/dcmjpls/libsrc/djcodece.cc +--- dcmtk/dcmjpls/libsrc/djcodece.cc 2019-01-12 16:13:14.012002607 +0100 ++++ dcmtk-3.6.4.new/dcmjpls/libsrc/djcodece.cc 2019-01-12 16:04:27.288002315 +0100 +@@ -55,7 +55,7 @@ + #include "dcmtk/dcmimgle/dcmimage.h" /* for class DicomImage */ + + // JPEG-LS library (CharLS) includes +-#include "CharLS/interface.h" ++#include "CharLS/charls.h" + + BEGIN_EXTERN_C + #ifdef HAVE_FCNTL_H +@@ -70,6 +70,15 @@ + END_EXTERN_C + + ++#ifndef BYTE ++using BYTE=unsigned char; ++#endif ++ ++using charls::ApiResult; ++using charls::InterleaveMode; ++using charls::ColorTransformation; ++ ++ + E_TransferSyntax DJLSLosslessEncoder::supportedTransferSyntax() const + { + return EXS_JPEGLSLossless; +@@ -568,13 +577,13 @@ + + // Set up the information structure for CharLS + OFBitmanipTemplate::zeroMem((char *) &jls_params, sizeof(jls_params)); +- jls_params.bitspersample = bitsAllocated; ++ jls_params.bitsPerSample = bitsAllocated; + jls_params.height = height; + jls_params.width = width; +- jls_params.allowedlossyerror = 0; // must be zero for raw mode ++ jls_params.allowedLossyError = 0; // must be zero for raw mode + jls_params.outputBgr = false; + // No idea what this one does, but I don't think DICOM says anything about it +- jls_params.colorTransform = 0; ++ jls_params.colorTransformation = ColorTransformation::None; + + // Unset: jls_params.jfif (thumbnail, dpi) + +@@ -596,15 +605,15 @@ + else + return EC_IllegalCall; + +- enum interleavemode ilv; ++ enum InterleaveMode ilv; + switch (planarConfiguration) + { + // ILV_LINE is not supported by DICOM + case 0: +- ilv = ILV_SAMPLE; ++ ilv = InterleaveMode::Sample; + break; + case 1: +- ilv = ILV_NONE; ++ ilv = InterleaveMode::None; + break; + default: + return EC_IllegalCall; +@@ -613,39 +622,39 @@ + switch (djcp->getJplsInterleaveMode()) + { + case DJLSCodecParameter::interleaveSample: +- jls_params.ilv = ILV_SAMPLE; ++ jls_params.interleaveMode = InterleaveMode::Sample; + break; + case DJLSCodecParameter::interleaveLine: +- jls_params.ilv = ILV_LINE; ++ jls_params.interleaveMode = InterleaveMode::Line; + break; + case DJLSCodecParameter::interleaveNone: +- jls_params.ilv = ILV_NONE; ++ jls_params.interleaveMode = InterleaveMode::None; + break; + case DJLSCodecParameter::interleaveDefault: + default: + // In default mode we just never convert the image to another + // interleave-mode. Instead, we use what is already there. +- jls_params.ilv = ilv; ++ jls_params.interleaveMode = ilv; + break; + } + +- // Special case: one component images are always ILV_NONE (Standard requires this) ++ // Special case: one component images are always InterleaveMode::None (Standard requires this) + if (jls_params.components == 1) + { +- jls_params.ilv = ILV_NONE; ++ jls_params.interleaveMode = InterleaveMode::None; + // Don't try to convert to another interleave mode, not necessary +- ilv = ILV_NONE; ++ ilv = InterleaveMode::None; + } + + // Do we have to convert the image to some other interleave mode? +- if ((jls_params.ilv == ILV_NONE && (ilv == ILV_SAMPLE || ilv == ILV_LINE)) || +- (ilv == ILV_NONE && (jls_params.ilv == ILV_SAMPLE || jls_params.ilv == ILV_LINE))) ++ if ((jls_params.interleaveMode == InterleaveMode::None && (ilv == InterleaveMode::Sample || ilv == InterleaveMode::Line)) || ++ (ilv == InterleaveMode::None && (jls_params.interleaveMode == InterleaveMode::Sample || jls_params.interleaveMode == InterleaveMode::Line))) + { +- DCMJPLS_DEBUG("Converting image from " << (ilv == ILV_NONE ? "color-by-plane" : "color-by-pixel") +- << " to " << (jls_params.ilv == ILV_NONE ? "color-by-plane" : "color-by-pixel")); ++ DCMJPLS_DEBUG("Converting image from " << (ilv == InterleaveMode::None ? "color-by-plane" : "color-by-pixel") ++ << " to " << (jls_params.interleaveMode == InterleaveMode::None ? "color-by-plane" : "color-by-pixel")); + + frameBuffer = new Uint8[frameSize]; +- if (jls_params.ilv == ILV_NONE) ++ if (jls_params.interleaveMode == InterleaveMode::None) + result = convertToUninterleaved(frameBuffer, framePointer, samplesPerPixel, width, height, bitsAllocated); + else + /* For CharLS, sample-interleaved and line-interleaved is both expected to +@@ -664,7 +673,7 @@ + + size_t bytesWritten = 0; + +- JLS_ERROR err = JpegLsEncode(&buffer, size, &bytesWritten, framePointer, frameSize, &jls_params); ++ auto err = JpegLsEncode(&buffer, size, &bytesWritten, framePointer, frameSize, &jls_params, NULL); + result = DJLSError::convert(err); + + if (result.good()) +@@ -997,11 +1006,11 @@ + OFBitmanipTemplate::zeroMem((char *) &jls_params, sizeof(jls_params)); + jls_params.height = height; + jls_params.width = width; +- jls_params.allowedlossyerror = nearLosslessDeviation; ++ jls_params.allowedLossyError = nearLosslessDeviation; + jls_params.outputBgr = false; +- jls_params.bitspersample = depth; ++ jls_params.bitsPerSample = depth; + // No idea what this one does, but I don't think DICOM says anything about it +- jls_params.colorTransform = 0; ++ jls_params.colorTransformation = ColorTransformation::None; + + // This was already checked for a sane value above + jls_params.components = samplesPerPixel; +@@ -1009,11 +1018,11 @@ + { + case EPR_Uint8: + case EPR_Sint8: +- jls_params.bitspersample = 8; ++ jls_params.bitsPerSample = 8; + break; + case EPR_Uint16: + case EPR_Sint16: +- jls_params.bitspersample = 16; ++ jls_params.bitsPerSample = 16; + break; + default: + // Everything else was already handled above and can't happen here +@@ -1033,37 +1042,37 @@ + switch (djcp->getJplsInterleaveMode()) + { + case DJLSCodecParameter::interleaveSample: +- jls_params.ilv = ILV_SAMPLE; ++ jls_params.interleaveMode = InterleaveMode::Sample; + break; + case DJLSCodecParameter::interleaveLine: +- jls_params.ilv = ILV_LINE; ++ jls_params.interleaveMode = InterleaveMode::Line; + break; + case DJLSCodecParameter::interleaveNone: +- jls_params.ilv = ILV_NONE; ++ jls_params.interleaveMode = InterleaveMode::None; + break; + case DJLSCodecParameter::interleaveDefault: + default: +- // Default for the cooked encoder is always ILV_LINE +- jls_params.ilv = ILV_LINE; ++ // Default for the cooked encoder is always InterleaveMode::LINE ++ jls_params.interleaveMode = InterleaveMode::Line; + break; + } + +- // Special case: one component images are always ILV_NONE (Standard requires this) ++ // Special case: one component images are always InterleaveMode::None (Standard requires this) + if (jls_params.components == 1) + { +- jls_params.ilv = ILV_NONE; ++ jls_params.interleaveMode = InterleaveMode::None; + } + + Uint8 *frameBuffer = NULL; + Uint8 *framePointer = buffer; + // Do we have to convert the image to color-by-plane now? +- if (jls_params.ilv == ILV_NONE && jls_params.components != 1) ++ if (jls_params.interleaveMode == InterleaveMode::None && jls_params.components != 1) + { + DCMJPLS_DEBUG("Converting image from color-by-pixel to color-by-plane"); + + frameBuffer = new Uint8[buffer_size]; + framePointer = frameBuffer; +- result = convertToUninterleaved(frameBuffer, buffer, samplesPerPixel, width, height, jls_params.bitspersample); ++ result = convertToUninterleaved(frameBuffer, buffer, samplesPerPixel, width, height, jls_params.bitsPerSample); + } + + size_t compressed_buffer_size = buffer_size + 1024; +@@ -1071,7 +1080,7 @@ + + size_t bytesWritten = 0; + +- JLS_ERROR err = JpegLsEncode(&compressed_buffer, compressed_buffer_size, &bytesWritten, framePointer, buffer_size, &jls_params); ++ auto err = JpegLsEncode(&compressed_buffer, compressed_buffer_size, &bytesWritten, framePointer, buffer_size, &jls_params, NULL); + result = DJLSError::convert(err); + + if (result.good()) +diff -ru dcmtk/dcmjpls/libsrc/djerror.h dcmtk-3.6.4.new/dcmjpls/libsrc/djerror.h +--- dcmtk/dcmjpls/libsrc/djerror.h 2019-01-12 16:13:14.012002607 +0100 ++++ dcmtk-3.6.4.new/dcmjpls/libsrc/djerror.h 2019-01-12 15:46:22.784001713 +0100 +@@ -24,7 +24,7 @@ + + #include "dcmtk/config/osconfig.h" + #include "dcmtk/dcmjpls/djlsutil.h" /* For the OFCondition codes */ +-#include "CharLS/interface.h" /* CharLS include */ ++#include "CharLS/charls.h" /* CharLS include */ + + /** Helper class for converting between dcmjpls and CharLS error codes + */ +@@ -40,29 +40,29 @@ + * @param error The CharLS error code + * @return The OFCondition + */ +- static const OFConditionConst& convert(JLS_ERROR error) ++ static const OFConditionConst& convert(CharlsApiResultType error) + { + switch (error) + { +- case OK: ++ case charls::ApiResult::OK: + return EC_Normal; +- case UncompressedBufferTooSmall: ++ case charls::ApiResult::UncompressedBufferTooSmall: + return EC_JLSUncompressedBufferTooSmall; +- case CompressedBufferTooSmall: ++ case charls::ApiResult::CompressedBufferTooSmall: + return EC_JLSCompressedBufferTooSmall; +- case ImageTypeNotSupported: ++ case charls::ApiResult::ImageTypeNotSupported: + return EC_JLSCodecUnsupportedImageType; +- case InvalidJlsParameters: ++ case charls::ApiResult::InvalidJlsParameters: + return EC_JLSCodecInvalidParameters; +- case ParameterValueNotSupported: ++ case charls::ApiResult::ParameterValueNotSupported: + return EC_JLSCodecUnsupportedValue; +- case InvalidCompressedData: ++ case charls::ApiResult::InvalidCompressedData: + return EC_JLSInvalidCompressedData; +- case UnsupportedBitDepthForTransform: ++ case charls::ApiResult::UnsupportedBitDepthForTransform: + return EC_JLSUnsupportedBitDepthForTransform; +- case UnsupportedColorTransform: ++ case charls::ApiResult::UnsupportedColorTransform: + return EC_JLSUnsupportedColorTransform; +- case TooMuchCompressedData: ++ case charls::ApiResult::TooMuchCompressedData: + return EC_JLSTooMuchCompressedData; + default: + return EC_IllegalParameter; diff --git a/patches/series b/patches/series new file mode 100644 index 00000000..2a9c1f80 --- /dev/null +++ b/patches/series @@ -0,0 +1,6 @@ +01_dcmtk_3.6.0-1.patch +03_datadic_install.patch +04_Fixed-OFoptional-by-introducing-OFalign.patch +05_performance.patch +07_dont_export_all_executables.patch + diff --git a/rules b/rules new file mode 100755 index 00000000..ea6183aa --- /dev/null +++ b/rules @@ -0,0 +1,94 @@ +#!/usr/bin/make -f +#export DH_VERBOSE=1 + +# export DEB_BUILD_MAINT_OPTIONS = hardening=+pie +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +# reduce overlinking: +export DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed + +# needed for the tests +export DCMDICTPATH=$(CURDIR)/dcmdata/data/dicom.dic + +# deduce documentation option (build-indep target) +ifeq "" "$(filter %-doc,$(shell dh_listpackages))" + BUILDDOC = OFF +else + BUILDDOC = ON +endif + +# when BUILDDOC==OFF, convenient copies of doxygen man pages are used +# when BUILDDOC==ON, doxygen man pages are being regenerated, this may leads to +# improper md5sum... + +%: + dh $@ --buildsystem=cmake + +# SKIP_RPATH=OFF to run test suite: +# see #701231 +CMAKE_EXTRA_FLAGS += -DCMAKE_BUILD_TYPE:STRING=None \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -DDCMTK_WITH_OPENSSL:BOOL=ON \ + -DDCMTK_ENABLE_PRIVATE_TAGS:BOOL=ON \ + -DDCMTK_WITH_XML:BOOL=ON \ + -DDCMTK_WITH_DOXYGEN:BOOL=$(BUILDDOC) \ + -DDCMTK_WITH_TIFF:BOOL=ON \ + -DDCMTK_WITH_ZLIB:BOOL=ON \ + -DDCMTK_WITH_ICONV:BOOL=ON \ + -DUSE_COMPILER_HIDDEN_VISIBILITY:BOOL=ON \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DCMAKE_INSTALL_DATADIC:STRING=share/libdcmtk15 \ + -DCMAKE_SKIP_RPATH:BOOL=OFF \ + -DDCMTK_USE_CXX11_STL:BOOL=ON \ + -DDCMTK_ENABLE_CXX11:BOOL=ON + + +override_dh_auto_configure: + dh_auto_configure -- $(CMAKE_EXTRA_FLAGS) + +override_dh_auto_build-arch: + # need man page in -arch packages: + #$(MAKE) -C obj-* man + dh_auto_build + +# Let's be smart with building doc +override_dh_auto_build-indep: + $(MAKE) -C obj-* DOXYGEN + +# No tests needed for docs +override_dh_auto_test-indep: + + +override_dh_auto_install-arch: + dh_auto_install + +override_dh_auto_install-indep: + DESTDIR=$(CURDIR)/debian/tmp $(MAKE) -C obj-*/doxygen install + DESTDIR=$(CURDIR)/debian/tmp $(MAKE) -C obj-*/dcmwlm/data install + + +override_dh_installdocs: + dh_installdocs + # do the doxygen / jquery fix: + dh_link -pdcmtk-doc usr/share/javascript/jquery/jquery.js usr/share/doc/dcmtk-doc/html/jquery.js + +override_dh_install-arch: + dh_install # --list-missing + #remove test binaries + rm ./debian/dcmtk/usr/bin/*_tests + rm ./debian/dcmtk/usr/bin/drttest + rm ./debian/dcmtk/usr/bin/mkreport + rm ./debian/dcmtk/usr/bin/msgserv + rm ./debian/dcmtk/usr/bin/wltest + + rm ./debian/libdcmtk-dev/usr/lib/*/libcharls.so + + rm ./debian/tmp/usr/share/SC.dump + rm ./debian/tmp/usr/share/VLP.dump + rm ./debian/tmp/usr/share/dcm2xml.dtd + rm ./debian/tmp/usr/share/dumppat.txt + +get-orig-source: + uscan --force-download --verbose --rename + +.PHONY: get-orig-source diff --git a/source/format b/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/watch b/watch new file mode 100644 index 00000000..aa8d38c3 --- /dev/null +++ b/watch @@ -0,0 +1,2 @@ +version=3 +ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/current/dcmtk-(.*)\.tar\.gz